管理具体化视图副本

本文档介绍了如何在 BigQuery 中管理具体化视图副本。

BigQuery 管理具体化视图副本包括以下操作:

如需详细了解具体化视图副本,请参阅以下内容:

准备工作

授予为用户提供执行本文档中的每个任务所需权限的 Identity and Access Management (IAM) 角色。执行任务所需的权限(如果有)列出在任务的“所需权限”部分中。

列出具体化视图副本

您可以通过 Google Cloud 控制台列出具体化视图副本。

所需权限

如需列出数据集中的具体化视图副本,您需要拥有 bigquery.tables.list IAM 权限。

以下每个预定义 IAM 角色都包含列出数据集中的具体化视图副本所需的权限:

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

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

如需列出数据集中的具体化视图副本,请执行以下操作:

  1. 浏览器面板中,展开您的项目并选择数据集。

  2. 滚动列表,查看数据集中的表。表、视图和具体化视图由不同的图标进行标识。 具体化视图副本与具体化视图具有相同的图标。

    表和视图图标

获取有关具体化视图副本的信息

您可以使用 SQL、bq 命令行工具或 BigQuery API 获取有关具体化视图副本的信息。

所需权限

如需查询有关具体化视图副本的信息,您需要拥有以下 Identity and Access Management (IAM) 权限:

  • bigquery.tables.get
  • bigquery.tables.list
  • bigquery.routines.get
  • bigquery.routines.list

以下每个预定义的 IAM 角色均可提供上述权限:

  • roles/bigquery.metadataViewer
  • roles/bigquery.dataViewer
  • roles/bigquery.admin

如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制

如需获取有关具体化视图副本(包括来源具体化视图)的信息,请执行以下操作:

SQL

如需获取有关具体化视图副本的信息,请查询 INFORMATION_SCHEMA.TABLES 视图

  1. 在 Google Cloud 控制台中,转到 BigQuery 页面。

    转到 BigQuery

  2. 在查询编辑器中,输入以下语句:

    SELECT * FROM PROJECT_ID.DATASET_ID.INFORMATION_SCHEMA.TABLES
    WHERE table_type = 'MATERIALIZED VIEW';
    

    替换以下内容:

    • PROJECT_ID:包含具体化视图副本的项目的名称
    • DATASET_ID:包含具体化视图副本的数据集的名称

  3. 点击 运行

如需详细了解如何运行查询,请参阅运行交互式查询

bq

使用 bq show 命令

bq show --project=project_id --format=prettyjson dataset.materialized_view_replica

替换以下内容:

  • project_id:项目 ID。 您只需添加此标志,即可获取与默认项目不同的项目中的具体化视图副本的相关信息。
  • dataset:包含具体化视图副本的数据集的名称。
  • materialized_view_replica:您想要了解的具体化视图副本的名称。

示例:

输入以下命令,可显示 myproject 项目的 report_views 数据集中的具体化视图副本 my_mv_replica 的相关信息。

bq show --project=myproject --format=prettyjson report_views.my_mv_replica

API

如需使用 API 获取具体化视图副本信息,请调用 tables.get 方法。

删除具体化视图副本

您可以通过 Google Cloud 控制台删除具体化视图副本。

所需权限

如需删除具体化视图副本,您需要拥有 bigquery.tables.delete IAM 权限。

以下每个预定义 IAM 角色都包含删除具体化视图副本所需的权限:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

如需详细了解 BigQuery Identity and Access Management (IAM),请参阅预定义角色和权限

  1. 探索器窗格中,展开您的项目,然后选择具体化视图副本。

  2. 展开 操作选项,然后点击删除

  3. “删除具体化视图?”对话框中,在字段中输入 delete,然后点击删除