将数据流式传输到特定的BigQuery时间分区

时间:2016-06-17 17:10:38

标签: google-bigquery

我想知道是否有任何方法可以将数据流式传输到BigQuery表的特定时间分区。文档说你必须使用表装饰器:

  

使用分区装饰器加载数据

     

分区装饰器使您可以将数据加载到特定的   划分。要调整时区,请使用分区装饰器加载   根据您的首选时区将数据放入分区。例如,   如果您使用太平洋标准时间(PST),请加载生成的所有数据   2016年5月1日PST通过使用到该日期的分区   相应的分区装饰器:

     

[TABLE_NAME]$20160501

来源:https://cloud.google.com/bigquery/docs/partitioned-tables#dealing_with_timezone_issues

  

重新分区数据

     

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

     

$YYYYMMDD

来源:https://cloud.google.com/bigquery/docs/creating-partitioned-tables#creating_a_partitioned_table

但如果我在流数据时尝试使用它们,则会出现以下错误:表装饰器不能与流式插入一起使用。

提前致谢!

2 个答案:

答案 0 :(得分:5)

很抱歉给您带来不便。我们正在考虑在不久的将来为此提供支持。请继续关注更多更新。

可能在许多情况下有效的解决方法:

  1. 如果您有大部分可用数据(有时在重新分区旧分区的数据时),您可以使用以分区作为目标的加载作业。

  2. 另一种选择是流式传输到临时表,并在从流式缓冲区刷新数据后,使用bq cp

答案 1 :(得分:1)

此功能最近发布,您现在可以在历史上和未来5天内直接流入过去30天内的装饰日期分区。

https://cloud.google.com/bigquery/streaming-data-into-bigquery