Обрабатывая огромный набор данных из BigQuery с помощью Python, загрузите его обратно в таблицу BigQuery - PullRequest
0 голосов
/ 29 марта 2019

У меня огромный набор данных в большом запросе с 50 миллионами строк и 57 столбцами. Я хочу сделать много фильтрации / преобразования / очистки, не используя sql. Я попытался использовать dask / panda / python для загрузки данных в dask dataframe в моем локальном mac, выполнить преобразование, а затем отправить данные обратно в bigquery, чтобы другие BU могли использовать их. Отправка данных обратно в bigquery занимает более 3 часов. Есть ли другой способ или, возможно, облачный сервис Google, который я могу использовать?

1 Ответ

1 голос
/ 29 марта 2019

Если у вас есть большой объем данных в BigQuery и вы хотите выполнить преобразование для него, одним из возможных решений будет использование возможности на основе GCP под названием Dataflow.Поток данных - это управляемая служба Googles, основанная на Apache Beam.Используя эту технологию, можно написать конвейер с BigQuery в качестве источника и приемника.Поток данных специально разработан для обработки чрезвычайно больших объемов данных и может распараллеливать работу автоматически.Кроме того, поскольку все это выполняется в GCP, при чтении или записи данных не возникает значительных задержек, которые могли бы быть обнаружены, если бы вы передавали их через Интернет.Поток данных позволяет программисту писать преобразования в Java или Python.

В зависимости от вашего преобразования, более высокий уровень (но похожая история) может быть использован службой Google Dataprep.Dataprep предоставляет механизм высокого уровня (бизнес-уровня) для преобразования данных без какого-либо программирования.Используя Dataprep, каждый описывает преобразование на гораздо более высоком уровне, который в конечном итоге автоматически создает и запускает задание Datalow от вашего имени.

...