Поток данных Python Beam не создает секционированную таблицу BigQuery

#google-bigquery #google-cloud-dataflow #apache-beam #airflow-scheduler #google-cloud-composer

# #google-bigquery #google-cloud-поток данных #apache-beam #поток данных-планировщик #google-cloud-composer

Вопрос:

У меня есть конвейер beam, в котором я получаю данные из файла, очищаю их и записываю в разделенную таблицу BigQuery

 (delivered
| 'delivered to json' >> beam.Map(to_json)
| 'write delivered' >> beam.io.WriteToBigQuery(
                                   delivered_table_spec,
                                   schema=table_schema,
                                   create_disposition=beam.io.BigQueryDisposition.CREATE_IF_NEEDED,
                                   write_disposition=beam.io.BigQueryDisposition.WRITE_APPEND,
                                   additional_bq_parameters={'timePartitioning': {'type': 'DAY'}}
))
 

Если я запускаю вышеупомянутый конвейер непосредственно в потоке данных, все происходит так, как ожидалось, т.Е. Данные очищаются и записываются в таблицу BigQuery, разделенную по дате в день. Однако, когда я пытаюсь запланировать тот же сценарий с помощью Cloud Composer (Airflow), вместо разделенной таблицы создается простая таблица. Я что-то упускаю? Любая помощь будет оценена.

Комментарии:

1. Это выполняется в пакетном или потоковом режиме?

2. На данный момент это чтение из хранилища Google, поэтому оно в основном пакетное

3. Когда вы читаете историю запросов bigquery, CREATE TABLE поступает ли оператор из потока данных? Или есть какая-то другая задача при ее создании?