管理具体化视图副本

本文档介绍了如何在 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,然后点击删除