我正在尝试在 BigQuery 中创建集群表。
当我在 UI 中测试它时,它工作得很好:
CREATE OR REPLACE TABLE `project_id_xyz.temp.clustering`
PARTITION BY date
CLUSTER BY cluster_col AS
SELECT CURRENT_DATE() as date, 1 as cluster_col
然而,当我在 python (3.7.1) 中通过 google-bigquery==1.9.0 尝试相同的操作时,表被创建并分区但没有集群。如 UI 中的“详细信息”选项卡所示。
这是我用来创建表的片段。
dataset = client.dataset("temp")
table = dataset.table("clustering_test")
job_config = bigquery.QueryJobConfig()
job_config.destination = table
job_config.write_disposition = "WRITE_TRUNCATE"
time_partitioning = TimePartitioning()
time_partitioning.field = "date"
job_config.time_partitioning = time_partitioning
job_config.clustering_fields = ["cluster_col"]
sql = """
SELECT CURRENT_DATE() as date, 1 as cluster_col
"""
query_job = client.query(
sql,
location='US',
job_config=job_config)
query_job.result()
代码看起来非常简单,也不会抛出任何异常。
有什么明显的事情表明我做错了吗?
我运行你的 python 代码,我可以确认它在集群设置中按预期工作。
使用 Python 3.6.7 解决问题的方法是创建一个干净的版本并再次运行代码
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)