Как наилучшим образом получить данные из нескольких таблиц BigQuery, используя Apache Beam и BigQueryIO? - PullRequest
0 голосов
/ 20 февраля 2020

Я понял из этого потока , что использование ".fromQuery" дороже и медленнее, чем ".from", но что я могу сделать, если мне нужно получить данные из нескольких таблиц?

В настоящее время я использую для этого запрос "INNER JOIN", но как мне добиться того же результата, используя ".from" (или аналогичный)?

1 Ответ

0 голосов
/ 24 февраля 2020

Поскольку вы намеревались объединить данные из нескольких таблиц Bigquery, используя BigQueryIO.Read.from () Apache Beam-метод, то, возможно, вы сможете выполнить PCollection собирает данные из каждой таблицы Bigquery и затем применяет Join logi c, предоставляя некоторые критерии соответствия для столбцов таблицы.

Посмотрите на это пример , объединение двух таблиц Bigquery в конкретном Pcollections путем предварительного преобразования входных данных в коллекции кортежей.

Приведенный выше подход очень похож на CoGroupByKey метод преобразования в Apache Beam SDK как основная концепция для управления реляционными объединениями между Pcollections.

Подробнее в этой теме о реализации Left Join преобразование.

...