我目前正在使用BigQuery的流选项将数据加载到表中。但是,具有日期分区的表不显示任何分区...我知道这是流式传输的影响。
我使用的Python代码:
def stream_data(dataset_name, table_name, data):
bigquery_client = bigquery.Client()
dataset = bigquery_client.dataset(dataset_name)
table = dataset.table(table_name)
# Reload the table to get the schema.
table.reload()
rows = data
errors = table.insert_data(rows)
if not errors:
print('Loaded 1 row into {}:{}'.format(dataset_name, table_name))
else:
print('Errors:')
print(errors)
日期分区表最终会显示,如果没有,我怎样才能创建插入作业来实现这个目标?
答案 0 :(得分:2)
不确定“分区未显示”是什么意思,但是当您创建分区表时,您只能看到一个表。
这里唯一的区别是你可以在这个表中查询日期分区,如下所示:
SELECT
*
FROM
mydataset.partitioned_table
WHERE
_PARTITIONTIME BETWEEN TIMESTAMP('2016-12-25')
AND TIMESTAMP('2016-12-31');
正如您在此示例中所看到的,分区表具有元列_PARTITIONTIME
,您可以使用它来选择您感兴趣的分区。
有关详细信息,请参阅docs解释有关查询分区表中数据的更多信息。