特徴グループを作成して、特徴データを含む、BigQuery のテーブルまたはビューを登録できます。
特徴グループに関連付ける BigQuery のテーブルまたはビューについては、次のことを確認する必要があります。
データソースのスキーマが、データソースの準備のガイドラインを遵守している。
データソースの
entity_id
という名前の列に、エンティティ ID がstring
値として格納されている。データソースの
feature_timestamp
という名前の列に、timestamp
型の特徴タイムスタンプが含まれている。
特徴グループを作成して BigQuery データソースを関連付けたら、特徴を作成してデータソースの列と関連付けることができます。特徴グループの作成時にデータソースを指定するのは省略可能です。しかし、特徴を作成する前にはデータソースを指定する必要があります。
特徴グループと特徴を使用してデータソースを登録すると、次のような利点があります。
複数の BigQuery データソースから、特定の特徴列を使用して、オンライン サービング用の特徴ビューを定義できます。
feature_timestamp
列を含めると、データを時系列としてフォーマットできます。Vertex AI Feature Store は、特徴データから最新の特徴値のみを提供し、履歴値は除外します。Data Catalog で特徴グループ リソースを検索すると、BigQuery ソースを関連する特徴データソースとして検出できます。
始める前に
まだ行っていない場合は、Vertex AI に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
Python
このページの Python サンプルをローカル開発環境から使用するには、gcloud CLI をインストールして初期化し、自身のユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定してください。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
詳細については、 ローカル開発環境の認証の設定 をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
BigQuery ソースから特徴グループを作成する
次のサンプルを使用して、特徴グループを作成し、BigQuery データソースを関連付けます。
コンソール
Google Cloud コンソールを使用して特徴グループを作成するには、次の操作を行います。
Google Cloud コンソールの [Vertex AI] セクションで、[Feature Store] ページに移動します。
[特徴グループ] セクションで [作成] をクリックし、[特徴グループの作成] ページの [基本情報] ペインを開きます。
[特徴グループ名] を指定します。
省略可: ラベルを追加するには、[ラベルを追加] をクリックし、ラベル名と値を指定します。特徴グループには複数のラベルを追加できます。
[BigQuery のパス] フィールドで [参照] をクリックし、BigQuery のソーステーブルまたはビューを選択して、そのテーブルまたはビューを特徴グループに関連付けます。
省略可: [エンティティ ID 列] リストで、BigQuery ソーステーブルまたはビューのエンティティ ID 列をクリックします。
[続行] をクリックします。
[登録] ペインで、次のいずれかのオプションをクリックして、新しい特徴グループに特徴を追加するかどうかを指定します。
BigQuery テーブルのすべての列を含める - BigQuery ソーステーブルまたはビュー内のすべての列の特徴グループ内に特徴を作成します。
手動で特徴を入力する - BigQuery ソースの特定の列に基づいて特徴を作成します。特徴ごとに特徴名を入力し、リストの対応する BigQuery ソース列名をクリックします。
別の特徴を追加するには、[他の特徴を追加] をクリックします。
空の特徴グループを作成する - 特徴を追加せずに特徴グループを作成します。
[作成] をクリックします。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、Python API リファレンス ドキュメントをご覧ください。
project
: プロジェクト ID。location
: 特徴グループを作成するリージョン(us-central1
など)。feature_group_id
: 作成する新しい特徴グループの名前。bq_table_uri
: 特徴グループに登録する BigQuery ソーステーブルまたはビューの URI。entity_id_columns
: エンティティ ID を含む列の名前。1 つまたは複数の列を指定できます。- エンティティ ID 列を 1 つだけ指定するには、列名を次の形式で指定します。
"entity_id_column_name"
- 複数のエンティティ ID 列を指定するには、列名を次の形式で指定します。
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- エンティティ ID 列を 1 つだけ指定するには、列名を次の形式で指定します。
REST
FeatureGroup
リソースを作成するには、featureGroups.create メソッドを使用して POST
リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION_ID: 特徴グループを作成するリージョン(
us-central1
など)。 - ENTITY_ID_COLUMNS: エンティティ ID を含む列の名前。1 つまたは複数の列を指定できます。
- エンティティ ID 列を 1 つだけ指定するには、列名を次の形式で指定します。
"entity_id_column_name"
- エンティティ ID 列を複数指定するには、列名を次の形式で指定します。
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- エンティティ ID 列を 1 つだけ指定するには、列名を次の形式で指定します。
- PROJECT_ID: 実際のプロジェクト ID。
- FEATUREGROUP_NAME: 作成する新しい特徴グループの名前。
- BIGQUERY_SOURCE_URI: 特徴グループに登録する BigQuery ソーステーブルまたはビューの URI。
HTTP メソッドと URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME
リクエストの本文(JSON):
{ "big_query": { "entity_id_columns": "ENTITY_ID_COLUMNS", "big_query_source": { "input_uri": "BIGQUERY_SOURCE_URI" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureGroupOperationMetadata", "genericMetadata": { "createTime": "2023-09-18T03:00:13.060636Z", "updateTime": "2023-09-18T03:00:13.060636Z" } } }