我想知道是否有任何方法可以将数据流式传输到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
但如果我在流数据时尝试使用它们,则会出现以下错误:表装饰器不能与流式插入一起使用。
提前致谢!
答案 0 :(得分:5)
很抱歉给您带来不便。我们正在考虑在不久的将来为此提供支持。请继续关注更多更新。
可能在许多情况下有效的解决方法:
如果您有大部分可用数据(有时在重新分区旧分区的数据时),您可以使用以分区作为目标的加载作业。
另一种选择是流式传输到临时表,并在从流式缓冲区刷新数据后,使用bq cp
答案 1 :(得分:1)
此功能最近发布,您现在可以在历史上和未来5天内直接流入过去30天内的装饰日期分区。
https://cloud.google.com/bigquery/streaming-data-into-bigquery