本页面介绍了如何将零售商品和用户事件数据上传到 BigQuery。将数据存储在 BigQuery 中后,您可以使用这些数据通过 Vertex AI 执行销售预测,并在预构建的 Looker 信息中心内查看数据。
如果您的零售数据已包含在 BigQuery 中的商品和用户事件表中,则可以采用 Retail API 格式,跳过此页面直接前往获取显示关键绩效指标的信息中心和根据零售数据生成销售预测数据。如需详细了解 BigQuery Retail API 格式,请参阅零售架构和用户事件简介。
须知事项
您必须先将零售数据导出到 BigQuery,然后才能:
完成准备工作中的步骤。包括导入清单信息和用户事件。
如需详细了解如何导入,请参阅:
请与您的 Google 客户经理联系,将 Retail API 导出功能列入许可名单。
在 BigQuery 中创建数据集
您需要在 BigQuery 中创建一两个数据集,以保存您的产品和用户事件数据。您可以使用一个数据集来保存这两种类型的数据,也可以创建两个数据集来分别存储每类数据。
您必须在实现 Retail API 的同一项目中创建数据集。
如果您之前未在 Retail API 项目中使用 BigQuery,请启用 BigQuery API,并确保您具有可让您创建数据集和表的 IAM 角色。
请参阅 BigQuery 文档中的准备工作和使用 IAM 进行访问权限控制。
在 BigQuery 中创建位于 US(美国的多个区域)多区域的数据集。例如,将其命名为
retail_data
。如果您在其他区域中创建数据集,则将数据导出到 BigQuery 会失败。如需了解如何创建数据集,请参阅 BigQuery 文档中的创建数据集。
此数据集将用于存储您导出的数据表。以下步骤介绍了如何导出。
可选:如需将用户事件数据与产品数据放在不同的数据集中,请创建第二个数据集。例如,将其命名为
retail_user_event_data
。
将 Retail 清单导出到 BigQuery 表
使用 products.export
方法将零售清单导出到 BigQuery 表。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您创建 BigQuery 数据集的 Retail API 项目的 ID。
-
BRANCH_ID:清单分支的 ID。使用
default_branch
从默认分支获取数据。如需了解详情,请参阅目录分支。 -
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/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 数据集的 Retail 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 表的零售数据,您需要注意以下几点:
关于导出的用户事件数据
以下是与导出的用户事件数据包含的产品信息有关的须知事项。
商品价格信息
userEvents.export
方法返回商品价格信息的方式取决于以下因素:
Retail API 提取时,您在用户事件数据中添加了价格信息。当您调用
userEvents.export
方法时,随用户事件一起返回的价格是事件发生时的商品价格。您未在用户事件数据中添加价格信息,但在 Retail API 提取时,您在商品数据中添加了价格信息。当您调用
userEvents.export
方法时,随用户事件一起返回的价格未必是事件发生时的商品价格。它是 Retail API 提取商品时在商品数据中找到的价格。您没有在用户事件数据中添加价格信息,并且您的商品数据中没有价格信息。当您调用
userEvents.export
方法时,不会随用户事件返回任何价格。
其他产品信息
系统会在您调用 userEvents.export
方法时将所有产品信息(价格除外)合并到用户事件信息中。产品值可以从用户事件时间更改为调用 userEvents.export
的时间。因此,用户事件表中返回的非价格商品值可能与用户事件发生时的商品值不同。
可选:确认新表位于 BigQuery 中
将商品数据和用户事件数据导出到 BigQuery 后,请确保新表已存在。
在 BigQuery 中,导航到您在在 BigQuery 中创建数据集中创建的一个或多个数据集。
打开数据集,确保您可以看到您导出的两个表。例如,查找名称以
retail_products
和retail_user_events
结尾的表。