Совет Datalake / хранилище данных BigQuery setup - PullRequest
0 голосов
/ 09 января 2019

Прежде всего, заранее извиняюсь за длинную историю и иногда использую неправильную терминологию.

Надеемся, что кто-нибудь посоветует нам, как оптимально внедрить BigQuery в нашу организацию.

Текущая настройка
На данный момент у нас есть хранилище данных в MySQL с нормализованными данными с использованием схемы снежинки.

Данные собираются из других баз данных SQL и MySQL, используя главным образом сервер автоматизации Simego - Ouvvi.

Мы используем программное обеспечение Qlikview и PowerBI для визуализации этих данных.

Все это прекрасно работает, однако в прошлом году мы работали над более ориентированным на события подходом. Мы стремимся создавать события практически для всего, что происходит в нашей организации, что означает, что мы будем создавать гораздо больше данных.

Кроме того, мы хотели бы объединить внутренние данные с различными источниками данных, такими как Google Analytics.

Будущие настройки
Мы начали строить конвейер Rabbit MQ для BigQuery с использованием Apache Beam, чтобы направить наши данные в набор данных BigQuery (на данный момент называется «datalake»).

Пока что все хорошо, надеюсь.

Теперь, чтобы иметь возможность использовать эти сообщения для целей отчетности, нам необходимо преобразовать эти сообщения о событиях. Наша идея состоит в том, чтобы запрашивать наши сообщения и сохранять нужные нам свойства в наборе данных, называемом «хранилище данных». Мы хотели бы использовать схему снежинок для этого склада с несколькими вложенными полями.

Но как этого добиться? Я поиграл с веб-интерфейсом BigQuery для некоторых запросов, и я думаю, что можно просто использовать запланированные запросы.

Однако мы бы предпочли использовать один (или более) инструмент (ы), который позволяет (упорядочено по важности):

  • Разработка нашей схемы хранилища данных (мы используем MySQL Workbench в нашей старой Datawarehouse. Далеко не идеально, но достаточно хорошо).
  • Преобразовывать данные проще, чем просто с помощью запросов.
  • Применить контроль версий. Кто что изменил, когда и т. Д.
  • Просмотрите изменения перед их применением.
  • Применение непрерывного развертывания.

Я потратил много времени на поиск в Google, но есть так много инструментов, что я чувствую себя немного ошеломленным. Поэтому любая помощь, предложение или критика высоко ценится!

...