列出视图

本文档介绍了如何在 BigQuery 中列出视图。

您可以通过以下方式列出数据集中的视图:

  • 使用 GCP Console 或经典版 BigQuery 网页界面
  • 使用 bq ls CLI 命令
  • 调用 tables.list API 方法
  • 使用客户端库

所需权限

如需列出数据集中的视图,您至少必须获得 bigquery.tables.list 权限。以下预定义的 Cloud IAM 角色包含 bigquery.tables.list 权限:

  • bigquery.user
  • bigquery.metadataViewer
  • bigquery.dataViewer
  • bigquery.dataOwner
  • bigquery.dataEditor
  • bigquery.admin

如需详细了解 BigQuery 中的 Cloud IAM 角色和权限,请参阅预定义的角色和权限

列出视图

列出视图的过程与列出表的过程完全相同。

要列出数据集中的视图,请执行以下操作:

控制台

  1. 在导航面板的资源部分,展开您的项目并点击数据集。此时会显示数据集中的表和视图。

  2. 滚动列表,查看数据集中的表。表和视图由不同的图标进行标识。

    表和视图图标

经典版界面

  1. 在 BigQuery 网页界面的导航窗格中,点击数据集左侧的蓝色箭头展开数据集,或双击数据集名称。这将显示数据集中的表和视图。

  2. 滚动列表,查看数据集中的表。表和视图由不同的图标进行标识。

    查看表

CLI

发出 bq ls 命令。--format 标志可用于控制输出。如果您要列出非默认项目中的视图,请按照以下格式将项目 ID 添加到数据集:project_id:dataset

bq ls --format=pretty project_id:dataset

其中:

  • project_id 是您的项目 ID
  • dataset 是数据集的名称。

运行该命令时,Type 字段会显示 TABLEVIEW。例如:

+-------------------------+-------+----------------------+-------------------+
|         tableId         | Type  |        Labels        | Time Partitioning |
+-------------------------+-------+----------------------+-------------------+
| mytable                 | TABLE | department:shipping  |                   |
| myview                  | VIEW  |                      |                   |
+-------------------------+-------+----------------------+-------------------+

示例:

数据以下命令,列举默认项目中数据集 mydataset 内的视图。

bq ls --format=pretty mydataset

输入以下命令可列出 myotherproject 中数据集 mydataset 内的视图。

bq ls --format=pretty myotherproject:mydataset

API

如需使用 API 列出视图,请调用 tables.list 方法。

Go

试用此示例之前,请按照《BigQuery 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 BigQuery Go API 参考文档

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
ts := client.Dataset(datasetID).Tables(ctx)
for {
	t, err := ts.Next()
	if err == iterator.Done {
		break
	}
	if err != nil {
		return err
	}
	fmt.Fprintf(w, "Table: %q\n", t.TableID)
}

Python

试用此示例之前,请按照《BigQuery 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 BigQuery Python API 参考文档

from google.cloud import bigquery

# TODO(developer): Construct a BigQuery client object.
# client = bigquery.Client()

# TODO(developer): Set dataset_id to the ID of the dataset that contains
#                  the tables you are listing.
# dataset_id = 'your-project.your_dataset'

tables = client.list_tables(dataset_id)

print("Tables contained in '{}':".format(dataset_id))
for table in tables:
    print("{}.{}.{}".format(table.project, table.dataset_id, table.table_id))

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面