【问题标题】:Create BigQuery materialized view using Cloud Deployment Manager使用 Cloud Deployment Manager 创建 BigQuery 物化视图
【发布时间】:2020-09-19 19:26:20
【问题描述】:

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

有解决办法吗?我唯一能想到的是使用 Job 资源 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-bigquery google-deployment-manager


    【解决方案1】:

    根据 Google Cloud Deployment Managerdocumentation bigquery.v2.table 资源类型实际上是利用 tables REST 对象作为 BigQuery API 库存的一部分。

    话虽如此,我假设您可以按照 Bigquery 指南 here 完全依赖 tables.insert 方法:

    使用定义的 materializedView 资源调用 tables.insert 方法 作为您的 API 请求的一部分。 materializedView 资源包含一个 查询字段。

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

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

    我还没有测试过上面提到的 API 功能,但是一旦您对实现有任何疑问,我会尝试更深入地挖掘。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-07
      • 2017-02-02
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2020-04-08
      • 2021-05-04
      • 1970-01-01
      相关资源
      最近更新 更多