[英]In google bigquery, how to use javascript UDF using google python client
[英]Create materialized view without aggregation using Python Client for Google BigQuery
我正在尝试使用 BigQuery 的 Python 客户端来创建物化视图。 文档有这个示例代码:
from google.cloud import bigquery
bigquery_client = bigquery.Client()
view_id = "my-project.my_dataset.my_materialized_view"
base_table_id = "my-project.my_dataset.my_base_table"
view = bigquery.Table(view_id)
view.mview_query = f"""
SELECT product_id, SUM(clicks) AS sum_clicks
FROM `{base_table_id}`
GROUP BY 1
"""
# Make an API request to create the materialized view.
view = bigquery_client.create_table(view)
print(f"Created {view.table_type}: {str(view.reference)}")
当我修改此代码时,它会在 BigQuery 中创建一个表,而不是一个物化视图。
google.cloud.bigquery.table.Table object 有一个table_type
属性,当前设置为 None。 如果我在运行create_table()
方法之前尝试将其设置为“MATERIALIZED_VIEW”,则会出现错误:
(AttributeError:无法设置属性)
我可以使用以下 SQL 从 Cloud Console 成功创建物化视图,但我需要能够使用 Python 部署创建表。
CREATE MATERIALIZED VIEW project-id.my_dataset.my_mv_table
AS SELECT product_id, SUM(clicks) AS sum_clicks
FROM project-id.my_dataset.my_base_table
我正在使用 google.cloud 2.1.0 版,Python 3.7.6 版
问题是 google-cloud-bigquery 的版本太旧了。 我更新到 2.6.0,其中添加了对物化视图的支持,如此处所述,它按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.