#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
поступает ли оператор из потока данных? Или есть какая-то другая задача при ее создании?