Изменить метаданные файла с помощью Apache Beam в облачной базе данных? - PullRequest
0 голосов
/ 25 октября 2018

Можете ли вы изменить метаданные файла в облачной базе данных с помощью Apache Beam?Насколько я понимаю, Beam используется для настройки конвейеров потоков данных для Google Dataflow.Но возможно ли использовать Beam для изменения метаданных, если у вас есть необходимые изменения в CSV-файле без настройки и запуска всего нового конвейера?Если это возможно, как ты это делаешь?

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Во-первых, Apache Beam в настоящее время еще не поддерживает обновление схемы.Существует запрос функции , но новостей нет

Другой вариант - изменить текущий поток данных, записанный с помощью конвейера Apache Beam, чтобы перенести вашу таблицу в другую (исправленная схема) таблицы.К сожалению, это не масштабируется, если у вас много данных, и плюс, если вам нужно часто менять схему таблицы (переименование столбцов, переименование таблицы, изменение типов данных и т. Д.).

Я предлагаю выполнить SQL-запросы для обновления схемы таблицы.Вы можете написать скрипт bash, используя это guide , которое выполняет оператор ALTER TABLE.

0 голосов
/ 25 октября 2018

Вы можете написать код Cloud Dataflow, но я бы не стал.Простой экземпляр GCE будет проще разработать и запустить в работу.Еще лучшим выбором может быть UDF (см. Ниже).

Существуют некоторые рекомендации относительно того, когда облачный поток данных подходит:

  1. Ваши данные не являются табличными, и вы не можете использовать SQL длявыполните анализ.
  2. Большие части задания параллельны - другими словами, вы можете обрабатывать разные подмножества данных на разных машинах.
  3. Ваша логика включает в себя пользовательские функции, итерации и т. д....
  4. Распределение работы варьируется по вашим подмножествам данных.

Поскольку ваша задача заключается в изменении базы данных, я предполагаю, что база данных SQL будет намного проще ибыстрее писать UDF для обработки и изменения базы данных.

...