使用apache beam Python SDK,我设置了一个数据流,该数据流写入Big Query上日期分区表中的各个分区。根据{{3}},每个日期分区表都有特殊的NULL
和UNPARTITIONED
分区。根据那些文档,我可以通过仅设置过去或将来的日期来写入UNPARTITIONED
分区,但是如何写入NULL
分区呢?
我试图根据数据中的值将数据加载到分区,有时该字段为null。我宁愿写到NULL
分区,也不愿定一个用于null的日期。
作为参考,我编写了类似以下内容的日期分区:
beam.io.Write(beam.io.BigQuerySink(table_id+'$20180925',
project=project_id, dataset=dataset_id, schema=schema))
要写入$20180925
,我需要替换NULL
吗?
答案 0 :(得分:3)
NULL 分区仅在按数据中的列进行分区的表中可用,而对摄取时间已分区的表则不可用。如果要写入列分区表,则不能简单地在特定行中填充该列的值,而不能使用table_id(不带任何分区后缀)写入 NULL 分区。