获取表格详细信息

查看表详细信息会显示 Lakehouse 运行时目录中 Apache Iceberg 表的底层架构、表属性和配置元数据。

在凭据自动售卖模式下,查询引擎还会检索短期访问凭据,以便安全地与底层 Cloud Storage 文件进行交互,而无需直接的 IAM 存储权限。

您可以使用 Google Cloud 控制台、Spark 和 Trino 中的 SQL DESCRIBE 命令或 REST API 来检查表详细信息。

准备工作

  1. 验证是否已为您的 Google Cloud 项目启用结算功能

  2. 启用 BigLake API。

    启用 API 所需的角色

    如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予角色

    启用 API

  3. 使用 Apache Iceberg REST 目录端点设置 Lakehouse 运行时目录

所需的角色

如需获得查看表格详情所需的权限,请让您的管理员向您授予项目的以下 IAM 角色:

  • 所有用户: BigLake Viewer (roles/biglake.viewer) - 您的项目

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

表格功能和支持

在 Lakehouse 运行时目录中使用表时,了解不同的表类型及其选择加入功能会很有帮助。如需详细了解如何使用 Apache Iceberg 表,请参阅 Apache Iceberg 表概览

支持的 Iceberg 表

仅支持 Apache Iceberg V2(正式版)和 V3(预览版)表。不支持 Iceberg V1 表。如需升级现有的 V1 表,请参阅将 Iceberg V1 表升级到 V2

获取表格详细信息

检查表架构和属性。

控制台

  1. 在 Google Cloud 控制台中,前往 Lakehouse

    前往 Lakehouse

  2. 选择现有目录,或者创建目录(如果您还没有目录)。

  3. 命名空间详细信息表中,点击要检查的表的名称。

  4. 表详细信息页面上,探索表的架构、分区规范和元数据属性。

Spark

spark.sql("DESCRIBE EXTENDED NAMESPACE_NAME.TABLE_NAME").show()

如需启用读/写互操作性和表管理(预览版),请将相应属性添加到 TBLPROPERTIES 子句中:

TBLPROPERTIES (
  'gcp.biglake.bigquery-dml.enabled' = true,
  'gcp.biglake.table-management.enabled' = true
)

Trino

DESCRIBE SCHEMA_NAME.TABLE_NAME;

如需启用读/写互操作性和表管理(预览版),请将以下属性添加到 WITH 子句:

WITH (
  "gcp.biglake.bigquery-dml.enabled" = 'true',
  "gcp.biglake.table-management.enabled" = 'true'
)

gcloud

如需使用 gcloud 描述表,请运行 gcloud biglake iceberg tables describe 命令

gcloud biglake iceberg tables describe TABLE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME"

替换以下内容:

  • TABLE_NAME:Iceberg 表的名称。
  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • CATALOG_ID:目录的 ID。
  • NAMESPACE_NAME:目录命名空间的名称。

BigQuery

如需在 BigQuery 中查看 Lakehouse 运行时目录中 Apache Iceberg 表的表详细信息和元数据属性,您可以在 BigQuery 控制台中检查表详细信息,也可以使用 bq show 命令。

REST

如需使用 REST API 检索表元数据,请向 GetIcebergTable 端点发出 GET 请求:

GET /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME

如需在凭证自动售卖模式下加载短期有效的表凭据,请向 LoadIcebergTableCredentials 端点发出 GET 请求:

GET /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME/credentials

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • CATALOG_ID:Lakehouse 运行时目录的 ID。
  • NAMESPACE_NAME:目录命名空间的名称。
  • TABLE_NAME:Iceberg 表的名称。

后续步骤