使用 Cloud Deployment Manager 创建 BigQuery 具体化视图

Create BigQuery materialized view using Cloud Deployment Manager

我可以使用部署管理器在 BigQuery 中创建本机表和外部表以及视图,但是,似乎没有任何方法可以创建具体化视图。页面:https://cloud.google.com/bigquery/docs/materialized-views-intro 表示它仍处于测试阶段 - GCP 测试版功能在 Deployment Manager 中不受支持是典型的吗?

有解决办法吗?我唯一能想到的是使用作业资源 https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/insert 并指定 DDL 查询,例如:CREATE MATERIALIZED VIEW ... 但我认为 Deployment Manager 不会正确跟踪和管理资源。

编辑:对于其他任何人,即使没有记录,这也有效:

- name: test-mv
  type: bigquery.v2.table
  properties:
    datasetId: experiments
    tableReference:
      datasetId: experiments
      tableId: test_mv
    materializedView:
      query: "select test, COUNT(*) as counter from experiments.test group by test"

根据 Google 云部署管理器 documentation bigquery.v2.table resource type is actually leveraging tables REST object as a part of BigQuery API 清单。

说到这里,我假设你可以完全依赖tables.insert method as per Bigquery guidelines here:

Call the tables.insert method with a defined materializedView resource as part of your API request. The materializedView resource contains a query field.

"materializedView": {
    "query": "select product_id,sum(clicks) as
                sum_clicks from project-id.my_dataset.my_base_table
                group by 1"
  }

在初始部署中定义适当的 materializedView 属性 configuration or Python/Jinja template

我还没有测试上面提到的 API 功能,但是如果您对实现有任何进一步的疑问,我会尝试更深入地研究。