在BigQuery的2 TB数据中进行日期分区的有效方法是什么?

时间:2017-07-07 09:40:01

标签: streaming google-bigquery

目前我已将数据导出为分片到Google云,在服务器中下载并流式传输到分区表,但问题是需要很长时间。它像1 Gb一样流动40分钟。请帮助我加快速度。我的机器是12内核和20 Gb RAM CPU。

1 个答案:

答案 0 :(得分:4)

您可以使用生成的API调用或其他方法将数据从Google云端存储直接加载到您的分区

要更新特定分区中的数据,请在将数据加载到表中时将分区装饰器附加到分区表的名称。分区装饰器表示特定日期,并采用以下形式:

$YYYYMMDD

例如,以下命令将名为mydataset.table1的分区表中的2016年1月1日(20160101)日期中的数据替换为从云存储桶加载的内容:

bq load  --replace --source_format=NEWLINE_DELIMITED_JSON 'mydataset.table1$20160101' gs://[MY_BUCKET]/replacement_json.json

注意:由于分区表中的分区共享表模式,因此替换分区中的数据不会替换表的模式。相反,新数据的模式必须与表模式兼容。要使用加载作业更新表的架构,请使用configuration.load.schemaUpdateOptions。

了解更多https://cloud.google.com/bigquery/docs/creating-partitioned-tables