源数据要求

Vertex Feature Store 可以从 BigQuery 中的表或 Cloud Storage 中的文件提取数据。Cloud Storage 中的文件必须为 Avro 或 CSV 格式。

每个项(或行)都必须符合以下要求:

  • 必须有一个实体 ID 列,并且值的类型必须为 STRING。此列包含特征值所针对的实体 ID。

  • 源数据值类型必须与特征存储区中目标特征的值类型匹配。例如,必须将布尔值提取到 BOOL 类型的特征中。

  • 所有列的标题都必须为 STRING 类型。标题名称没有任何限制。

    • 对于 BigQuery 表,列标题是列名称。
    • 对于 Avro,列标题由与二进制数据关联的 Avro 架构定义。
    • 对于 CSV 文件,列标题为第一行。
  • 如果提供特征生成时间戳列,请使用以下时间戳格式之一:

    • 对于 BigQuery 表,时间戳必须位于 TIMESTAMP 列中。
    • 对于 Avro,时间戳必须是 long 类型,以及 logical 类型的 timestamp-micro。
    • 对于 CSV 文件,时间戳必须为 RFC 3339 格式。
  • CSV 文件不能包含数组数据类型。请改用 Avro 或 BigQuery。

  • 对于数组类型,数组中不能有 null 值。但是,您可以添加空数组。

特征值时间戳

对于批量提取,Feature Store 要求用户为提取的特征值提供时间戳。您可以为每个值指定特定的时间戳,也可以为所有值指定相同的时间戳:

  • 如果特征值的时间戳不同,请在源数据的一列中指定时间戳。每行必须有自己的时间戳,用于指明特征值的生成时间。在提取请求中,您需要指定列名称以标识时间戳列。
  • 如果所有特征值的时间戳都相同,您可以在提取请求中将其指定为参数。您也可以在源数据的一列中指定时间戳,其中每行具有相同的时间戳。

数据源区域

如果源数据在 BigQuery 或 Cloud Storage 中,则源数据集或存储分区必须位于与特征存储区相同的区域或多区域位置。例如,位于 us-central1 特征存储区只能从位于 us-central1 或美国多区域位置的 Cloud Storage 存储分区或 BigQuery 数据集中提取数据。您无法从 us-east1 中提取数据。此外,也不支持来自双区域存储桶的源数据。

后续步骤