列出表

列出表可让您在 Lakehouse 运行时目录中查看命名空间内的所有已注册表实体。

查询引擎可以使用标准 SQL 命令列出表,您可以使用 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. 选择现有目录,或者在没有目录的情况下创建一个目录。

您的表会显示在命名空间详情 页面上。

Spark

spark.sql("SHOW TABLES").show()

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

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

Trino

SHOW TABLES;

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

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

gcloud

如需使用 gcloud 列出表,请运行 gcloud biglake iceberg tables list 命令

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

替换以下内容:

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

BigQuery

如需从 BigQuery 列出 Lakehouse 运行时目录中的 Apache Iceberg 表,您可以在 BigQuery 控制台中浏览探索器 窗格,也可以使用 bq ls 命令。

REST

如需使用 REST API 列出命名空间内的表标识符,请向 ListIcebergTableIdentifiers 端点发出 GET 请求:

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

响应包含在指定命名空间下注册的表标识符的 JSON 数组。

替换以下内容:

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

后续步骤