列出表可让您在 Lakehouse 运行时目录中查看命名空间内的所有已注册表实体。
查询引擎可以使用标准 SQL 命令列出表,您可以使用 REST API 检索表标识符。
准备工作
-
验证是否已为您的 Google Cloud 项目启用结算功能。
-
启用 BigLake API。
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。 - 使用 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。
列出表
列出表。
控制台
在 Google Cloud 控制台中,前往 Lakehouse。
选择现有目录,或者在没有目录的情况下创建一个目录。
您的表会显示在命名空间详情 页面上。
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:您的目录命名空间的名称。