流入 BQ 分区表
Posted
技术标签:
【中文标题】流入 BQ 分区表【英文标题】:Streaming into BQ partitioned tables 【发布时间】:2016-07-28 16:40:15 【问题描述】:我正在尝试使用数据流。 文档说:
流缓冲区中的数据在 _PARTITIONTIME 列中具有 NULL 值。
我可以看到将行插入日期分区表时就是这种情况。
有没有办法可以设置我要插入的行的分区时间,以便 BigQuery 可以推断出正确的分区?
到目前为止,我已经尝试过:tableRow.set("_PARTITIONTIME", milliessinceepoch);
但我遇到了no such field
异常。
【问题讨论】:
【参考方案1】:大约一个月前,您可以流式传输到日期分区表的特定分区。例如,要插入表 T 中日期为 20160501 的分区,可以调用 insertall 表名 T$20160501
【讨论】:
【参考方案2】:AFAIK,在撰写本文时,BigQuery 不允许为每行手动指定分区 - 它是从插入时推断出来的。
但是,作为 BigQuery 内置分区表功能的替代方案,您可以使用 Dataflow 的功能同时流式传输到多个 BigQuery 表:请参阅Sharding BigQuery output tables。
【讨论】:
以上是关于流入 BQ 分区表的主要内容,如果未能解决你的问题,请参考以下文章