在BigQuery python api中设置聚类列

问题描述 投票:1回答:1

我正在尝试在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-3.x google-bigquery
1个回答
1
投票

我运行你的python代码,我可以通过群集设置确认它正常工作。

使用Python 3.6.7解决问题的方法是创建一个干净的版本并再次运行代码

© www.soinside.com 2019 - 2024. All rights reserved.