首页 > 解决方案 > 大查询数据流加载到 NULL 分区

问题描述

使用 apache beam Python SDK,我设置了一个数据流,该数据流写入 Big Query 上日期分区表中的各个分区。根据这个文档,每个日期分区表都有特殊NULLUNPARTITIONED分区。根据那些文档,我可以UNPARTITIONED通过将日期设置为过去或将来的日期来写入分区,但是我怎样才能写入NULL分区呢?

我正在尝试根据数据中的值将数据加载到分区,有时该字段为空。我宁愿写到NULL分区而不是为空值编一个日期。

作为参考,我写到日期分区做这样的事情:

beam.io.Write(beam.io.BigQuerySink(table_id+'$20180925',
    project=project_id, dataset=dataset_id, schema=schema))

我需要用什么来代替$20180925写信NULL

标签: pythongoogle-bigquerygoogle-cloud-dataflowapache-beam

解决方案


NULL分区仅在由数据中的列分区的表中可用,在摄取时间分区表上不可用。如果您正在写入列分区表,您可以简单地不在特定行中填充该列的值并使用 table_id(没有任何分区后缀)写入NULL分区。


推荐阅读