ソースデータの要件

一括インポートの場合、Vertex AI Feature Store(従来版)は BigQuery のテーブルまたは Cloud Storage のファイルからデータをインポートできます。

  • データセット全体をインポートする必要があり、パーティション フィルタが不要な場合は、BigQuery テーブルを使用します。

  • データセットの特定のサブセットをインポートする必要がある場合は、BigQuery ビューを使用します。このオプションは時間効率が高く、データから生成された複数のテーブルなど、データセット全体から特定の部分をインポートできます。

  • Cloud Storage からインポートしたファイルに含まれるデータは、AVRO または CSV 形式のいずれかでなければなりません。

ストリーミング インポートの場合は、API リクエストでインポートする特徴値を指定します。これらのソースデータ要件は適用されません。詳細については、writeFeatureValues API リファレンスをご覧ください。

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

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

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

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

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

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

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

特徴値のタイムスタンプ

一括インポートの場合、Vertex AI Feature Store(従来版)では、インポートされた特徴値に対し、ユーザーが指定したタイムスタンプが必要です。タイムスタンプは、それぞれの値に個別のタイムスタンプを指定することも、すべての値に同じタイムスタンプを指定することもできます。

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

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

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

次のステップ