ソースデータの要件

Vertex Feature Store は、BigQuery のテーブルや Cloud Storage のファイルからデータを取り込みます。Cloud Storage 内のファイルは、Avro または CSV 形式である必要があります。

各項目は、次の要件を満たす必要があります。

  • エンティティ ID の列が必要で、値は STRING 型でなければなりません。この列には、特徴値に対応するエンティティ ID が格納されます。

  • ソースデータの値の型は、featurestore 内の取り込み先となる特徴値の型と一致する必要があります。たとえば、ブール値は BOOL 型の特徴に取り込まれる必要があります。

  • すべての列のヘッダーは STRING である必要があります。ヘッダーの名前に制限はありません。

    • BigQuery テーブルの場合、列ヘッダーは列の名前です。
    • Avro の場合、列ヘッダーはバイナリデータに関連付けられた Avro スキーマによって定義されます。
    • CSV ファイルの場合、列ヘッダーは 1 行目です。
  • 特徴生成タイムスタンプの列がある場合は、次のいずれかのタイムスタンプ形式を使用します。

    • BigQuery テーブルの場合、タイムスタンプは TIMESTAMP 列に入ります。
    • Avro の場合、タイムスタンプは long 型かつ、論理型が timestamp-micros でなければなりません。
    • CSV ファイルの場合、タイムスタンプは RFC 3339 形式にする必要があります。
  • CSV ファイルに配列データ型を含めることはできません。その場合は、Avro か BigQuery を使用してください。

  • 配列型の場合、配列に Null 値を含めることはできません。ただし、空の配列は含めることができます。

特徴値のタイムスタンプ

バッチ取り込みの場合、Feature Store では、取り込まれた特徴値にユーザーが指定したタイムスタンプが必要です。タイムスタンプは、それぞれの値に個別のタイムスタンプを指定することも、すべての値に同じタイムスタンプを指定することもできます。

  • 特徴値のタイムスタンプが異なる場合は、ソースデータの列のタイムスタンプを指定します。各行には、特徴値が生成された日時を示す固有のタイムスタンプが必要です。取り込みリクエストでは、タイムスタンプ列を識別する列名を指定します。
  • すべての特徴値のタイムスタンプが同じ場合は、取り込みリクエストでパラメータとして指定できます。また、各行が同じタイムスタンプを持つソースデータの列にタイムスタンプを指定することもできます。

データソースのリージョン

ソースデータが BigQuery または Cloud Storage のどちらかにある場合、ソースのデータセットやバケットは、featurestore と同じリージョンか、同じマルチリージョン ロケーションに存在する必要があります。たとえば、us-central1 にある featurestore には、us-central1 か米国のマルチリージョン ロケーションにある Cloud Storage バケットまたは BigQuery データセットのデータのみを取り込めます。us-east1 などからデータを取り込むことはできません。また、デュアルリージョン バケットのソースデータもサポートされていません。

次のステップ