一括インポートの場合、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
などのデータはインポートできません。また、デュアルリージョン バケットのソースデータもサポートされていません。
次のステップ
- Vertex AI Feature Store(従来版)を使用するプロジェクトの設定方法を確認する。
- 特徴値の一括インポートの方法を学習する。