是否支持将数据流式传输到按列分区的 BigQuery 表中?我遇到了麻烦,收到此错误:
BadRequest:400 POST https://www.googleapis.com/bigquery/v2/projects/ ...$20180410/insertAll:流式传输到基于列的分区表的元数据分区 ...$20180410 是不允许的。
阅读 BigQuery流式传输文档,它说允许流式传输到分区表,但所有示例均适用于摄取时间分区。我没有看到对较新的基于列的分区的引用。
它是否受支持,我只是做错了?例如,当我显式添加分区后缀 ($YYYYMMDD) 时出现错误。当我不使用后缀时,写入成功,但看起来它实际上并没有被分区。
这是我的示例代码:
我们有一个包含几列的表,让我们这样说:
date: DATE (partitioned field)
name: STRING
count: INTEGER
我正在尝试通过以下方式进行流式插入:
from google.cloud import bigquery
data = [
{'date': date('2018-04-10'), 'name': 'x', 'count': 10},
{'date': date('2018-04-10'), 'name': 'y', 'count': 5},
]
client = bigquery.Client(...)
table_ref = client.dataset(dataset).table(tableid + '$20180410')
schema = client.get_table(table_ref).schema
# Raises the 400 Bad Request above.
result = client.insert_rows(table_ref, data, selected_fields=schema)