使用更改历史记录

通过更改历史记录,您可以跟踪附加到 Apache Iceberg 托管表(以前称为 BigQuery 中的 Apache Iceberg BigLake 表)的行的历史记录。您可以使用 GoogleSQL APPENDS 表值函数 (TVF) 查看在指定时间范围内附加到表的所有行,例如通过 CREATE TABLE DDL 语句、INSERT 和 MERGE DML 语句、批量加载作业和流式注入添加的行。

Apache Iceberg 托管表使用 BigQuery 更改历史记录概念和功能,让您能够处理对表进行的增量添加。了解向表附加了哪些行可帮助您在 BigQuery 外部逐步维护表副本、审核历史数据添加情况或触发下游流水线,而无需进行全表扫描或费用高昂的复制。

所需权限

如需查看 Apache Iceberg 托管式表的更改历史记录,您需要拥有以下权限:

  • 表的 bigquery.tables.getData 权限。以下预定义的 Identity and Access Management (IAM) 角色包含此权限:
    • roles/bigquery.dataViewer
    • roles/bigquery.dataEditor
    • roles/bigquery.dataOwner
    • roles/bigquery.admin
  • 对与表关联的 Google Cloud 资源连接的bigquery.connections.delegate权限。BigQuery Connection User (roles/bigquery.connectionUser) 角色具有此权限。
  • 此外,与 Google Cloud 资源连接关联的服务账号必须对底层 Cloud Storage 存储桶具有 roles/storage.objectUser 和 roles/storage.legacyBucketReader 角色。

如需了解表使用行级或列级安全性时的其他权限要求,请参阅 BigQuery 更改历史记录文档中的所需权限。

限制

Apache Iceberg 托管表支持更改历史记录,并利用与标准 BigQuery 更改历史记录相同的概念和功能。 在 Apache Iceberg 托管式表上使用更改历史记录时,存在以下限制:

后续步骤

如需了解详情,请参阅以下 BigQuery 文档: