Лучший способ экспортировать таблицу из BigQuery в GCS - PullRequest
0 голосов
/ 01 октября 2019

У меня есть несколько вопросов, связанных с Cloud Composer и BigQuery. Нам нужно импортировать и создать автоматизированный процесс для экспорта таблиц из BigQuery в хранилище. У меня есть 4 варианта:

  • bigquery_to_gcs Operator
  • BashOperator: Выполнение команды "bq", предоставляемой Cloud SDK в Cloud Composer.
  • Функция Python: Создать функцию Python с помощью API BigQuery, почти такую ​​же, как bigquery_to_gcs, и выполнить эту функцию с Airflow.
  • DataFlow: задание будет выполнено и с Airflow.

У меня естьнекоторые мысли, связанные с первыми 3 вариантами мысли. Если таблица огромна, есть ли шанс использовать большую часть ресурсов Cloud Composer? Я искал, использует ли bashoperator и bigquery некоторые ресурсы Cloud Composer. Всегда думая, что этот процесс будет запущен в будущем, и одновременно будет запущено больше дагов. Если это так, Dataflow будет более удобным вариантом?

Хороший подход к потоку данных состоит в том, что мы можем экспортировать таблицу только в один файл, если мы хотим, что невозможно с другими параметрами, если таблица большечем 1 ГБ.

1 Ответ

1 голос
/ 01 октября 2019

BigQuery имеет функцию экспорта данных в GCS. Это означает, что если вы используете любую из упомянутых вами вещей (за исключением задания Dataflow), вы просто запустите задание экспорта, которое будет выполняться и управляться BigQuery.

Это означает, что вам не нужнобеспокоиться о потреблении ресурсов кластера в Composer. Оператор bigquery_to_gcs - это просто контроллер, который инструктирует BigQuery выполнить экспорт.

Итак, из упомянутых вами опций: оператор bigquery_to_gcs, BashOperator и функция Python будут иметь аналогичную низкую стоимость. Просто используйте то, что вам проще в управлении.

...