Загрузка большого запроса данных в NULL-раздел - PullRequest
0 голосов
/ 26 сентября 2018

Используя Apache Beam Python SDK, я настроил поток данных, который записывает данные в отдельные разделы в таблице разделов по датам в Big Query.Согласно этой документации каждая секционированная таблица дат имеет специальные NULL и UNPARTITIONED разделы.Согласно этим документам, я могу записать в раздел UNPARTITIONED, просто установив дату в прошлом или будущем, но как я могу записать в раздел NULL?

Я пытаюсь загрузить данные в раздел, основанный на значениях в данных, и иногда поле имеет значение null.Я лучше напишу в раздел NULL, чем составлю дату для использования с нулями.

Для справки я пишу на сегодняшний день разделы, выполняя что-то вроде этого:

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

Чем мне нужно заменить $20180925 на запись в NULL?

1 Ответ

0 голосов
/ 26 сентября 2018

Раздел NULL доступен только в таблицах, которые разделены столбцом в данных, но не в таблицах с разделением по времени приема.Если вы выполняете запись в таблицу с несколькими столбцами, вы можете просто не заполнять значение этого столбца в определенной строке и использовать table_id (без суффикса раздела) для записи в NULL раздел.

...