本页面介绍了如何配置 Datastream 以复制到 BigQuery 中的 BigLake Iceberg 表。
BigLake Iceberg 表提供与标准 BigQuery 表相同的全代管式体验,但将数据以 Apache Iceberg 表格式和 Parquet 文件格式存储在客户拥有的 Cloud Storage 存储分区中。您可以使用 BigQuery 功能查询和分析数据,同时将数据保留在自己的存储分区中。
表元数据
Datastream 会向写入 BigQuery 目标平台的每个表中附加一个名为 datastream_metadata 的 STRUCT 列。
datastream_metadata 列包含以下字段:
UUID:此字段的数据类型为STRING。SOURCE_TIMESTAMP:此字段的数据类型为INTEGER。CHANGE_SEQUENCE_NUMBER:此字段具有STRING数据类型。这是 Datastream 为每个变更事件使用的内部序列号。CHANGE_TYPE:此字段具有STRING数据类型。它表示更改事件的类型。对于仅附加写入模式,该值为INSERT。SORT_KEYS:此字段包含一个STRING值数组。您可以使用这些值对更改事件进行排序。
配置到 BigLake Iceberg 表的流式传输
若要设置数据流,以将数据注入到 BigLake Iceberg 表,请执行以下操作:
- 创建 Cloud Storage 存储桶,用于存储数据。
- 在 BigQuery 中创建 Cloud 资源连接。如需了解如何创建此类连接,请参阅创建和设置 Cloud 资源连接。
获取连接服务账号的标识符:
bq show --location=LOCATION --connection --project_id=PROJECT_ID CONNECTION_NAME向您创建的 Cloud Storage 存储桶授予 Cloud 资源连接访问权限。为此,请向连接服务账号添加
storage.adminIAM 权限:gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \ --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \ --role=roles/storage.admin创建 BigLake Iceberg 表流。
如需了解如何使用 Google Cloud 控制台创建 BigLake Iceberg 表数据流,请参阅创建数据流。
如需了解如何使用 REST
Google Cloud CLI或 Terraform 创建请求以将数据流式传输到 BigLake Iceberg 表,请参阅使用 API 管理数据流。
后续步骤
- 如需详细了解数据流,请参阅数据流生命周期。
- 如需了解如何创建数据流,请参阅创建数据流。
- 如需了解如何创建可用于 BigLake Iceberg 表流的连接配置文件,请参阅为 BigQuery 创建连接配置文件。