このページでは、小売商品データとユーザー イベントデータを BigQuery にアップロードする方法について説明します。データが BigQuery に取り込まれると、そのデータを使用して Vertex AI で販売予測を行い、事前構築済みの Looker ダッシュボードでデータを確認できるようになります。
小売データが BigQuery の商品テーブルとユーザー イベント テーブルにすでに存在する場合、Vertex AI Search for Retail 形式では、このページをスキップして重要業績評価指標を表示するダッシュボードを取得すると小売データから販売予測を生成するに直接進むことができます。形式の詳細については、商品スキーマとユーザー イベントについてをご覧ください。
始める前に
小売データを BigQuery にエクスポートする前に、始める前にの手順を完了しておく必要があります。これには、カタログ情報とユーザー イベントのインポートが含まれます。
インポートの詳細については、以下をご覧ください。
BigQuery でデータセットを作成する
商品データとユーザー イベントデータを保持するには、BigQuery で 1 つまたは 2 つのデータセットを作成する必要があります。1 つのデータセットを使用して両方のタイプのデータを保持することも、データのタイプごとに 1 つずつ、計 2 つのデータセットを作成することもできます。
小売業向け Vertex AI Search を実装したプロジェクトと同じプロジェクト内にデータセットを作成する必要があります。
プロジェクトで BigQuery を初めて使用する場合は、BigQuery API を有効にして、データセットとテーブルを作成できる IAM ロールがあることを確認します。
BigQuery ドキュメントの、始める前にと IAM によるアクセス制御をご覧ください。
BigQuery で米国(米国の複数のリージョン)のマルチリージョンのデータセットを作成します。たとえば、
retail_data
という名前にします。別のリージョンにデータセットを作成すると、BigQuery へのデータのエクスポートは失敗します。データセットの作成については、BigQuery ドキュメントのデータセットの作成をご覧ください。
このデータセットは、エクスポートするデータテーブルを保持するために使用されます。エクスポートする手順は次のとおりです。
省略可: ユーザー イベント データを商品データとは別のデータセットに配置するには、2 番目のデータセットを作成します。たとえば、
retail_user_event_data
という名前を付けます。
Vertex AI Search for Retail カタログを BigQuery テーブルにエクスポートする
ExportProducts
メソッドを使用して、Retail カタログを BigQuery テーブルにエクスポートします。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: BigQuery データセットを作成した小売業向け Vertex AI Search API プロジェクトの ID。
-
BRANCH_ID: カタログ ブランチの ID。デフォルトのブランチからデータを取得するには、
default_branch
を使用します。 詳細については、カタログのブランチをご覧ください。 -
DATASET_ID: BigQuery でデータセットを作成するで作成したデータセットの名前。たとえば、
retail_data
またはretail_product_data
を使用します。 データセットは同じプロジェクト内にある必要があります。 ここで、datasetId
フィールドにプロジェクト ID を追加しないでください。 -
TABLE_ID_PREFIX: テーブル ID の接頭辞。この接頭辞は空の文字列にできません。テーブル名を補完するために、接尾辞
retail_products
が追加されます。たとえば、接頭辞がtest
の場合、テーブルの名前はtest_retail_products
です。
リクエストの本文(JSON):
{ "outputConfig": { "bigqueryDestination": { "datasetId": "DATASET_ID", "tableIdPrefix": "TABLE_ID_PREFIX", "tableType": "view" } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/operations/17986570020347019923", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.retail.v2alpha.ExportProductsResponse", "outputResult": { "bigqueryResult": [ { "datasetId": "DATASET_ID", "tableId": "TABLE_ID_PREFIX_retail_products" } ] } } }
ユーザー イベントを BigQuery テーブルにエクスポートする
userEvents.export
メソッドを使用して、小売ユーザー イベントを BigQuery テーブルにエクスポートします。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: BigQuery データセットを作成した小売業向け Vertex AI Search API プロジェクトの ID。
-
DATASET_ID: BigQuery でデータセットを作成するで作成したデータセットの名前。たとえば、
retail_data
またはretail_product_data
を使用します。 -
TABLE_ID_PREFIX: テーブル ID の接頭辞。この接頭辞は空の文字列にできません。テーブル名を補完するために、接尾辞
retail_products
が追加されます。たとえば、接頭辞がtest
の場合、テーブルの名前はtest_retail_products
です。
リクエストの本文(JSON):
{ "outputConfig": { "bigqueryDestination": { "datasetId": "DATASET_ID", "tableIdPrefix": "TABLE_ID_PREFIX", "tableType": "view" } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/operations/17203443067109586170", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.retail.v2alpha.ExportUserEventsResponse", "outputResult": { "bigqueryResult": [ { "datasetId": "DATASET_ID", "tableId": "TABLE_ID_PREFIX_retail_user_events" } ] } } }
エクスポートされるデータについて
BigQuery テーブルにエクスポートする小売データについては、次の点に注意してください。
プロジェクトの BigQuery テーブルにエクスポートされるデータは、マテリアライズド ビューではなく、承認済みビューです。
これらのテーブルのデータの変更や更新はできません。
商品は 1 時間ごとに更新されます。
ユーザー イベントは準リアルタイムで更新されます。
エクスポートされるユーザー イベント データについて
エクスポートされるユーザー イベントデータに含まれる商品情報について、以下の点を確認してください。
商品の価格情報
userEvents.export
メソッドによって商品の価格情報が返される方法は、次によって異なります。
取り込み時にユーザー イベントデータに価格情報が含まれていた。
userEvents.export
メソッドを呼び出す際に、ユーザー イベントと同時に返される価格は、イベント発生時の商品の価格になります。ユーザー イベントデータに価格情報は含まれていなかったが、取り込み時に商品データに価格情報が含まれていた。
userEvents.export
メソッドを呼び出す際に、ユーザー イベントと同時に返される価格は、必ずしもイベント発生時の商品価格にはなりません。取り込み時に商品データに含まれていた価格情報です。ユーザー イベントデータに価格情報は含まれていなかったため、商品データで利用できる価格情報がない。
userEvents.export
メソッドを呼び出す際に、ユーザー イベントと同時に返される価格はありません。
その他の商品情報
userEvents.export
メソッドを呼び出すときに、すべての商品情報(価格を除く)がユーザー イベント情報に結合されます。商品の値は、ユーザー イベントの時刻から userEvents.export
を呼び出す時刻まで変更できます。このため、ユーザー イベント テーブルで返される価格以外の商品の値は、ユーザー イベント時の商品の値とは異なる場合があります。
省略可: 新しいテーブルが BigQuery にあることを確認する
商品データとユーザー イベント データを BigQuery にエクスポートした後、新しいテーブルが存在することを確認してください。
BigQuery で、BigQuery にデータセットを作成するで作成したデータセットに移動します。
データセットを開いて、エクスポートした 2 つのテーブルが表示されていることを確認します。たとえば、名前が
retail_products
またはretail_user_events
で終わるテーブルを探します。