Автоматизация BigQuery

Я новичок в BigQuery и программировании в целом (свободно владею SQL), так как имею опыт работы с аналитикой данных. Я использую BigQuery для анализа данных о событиях моего приложения для Android. У меня есть данные, поступающие в таблицы BQ, и я могу писать запросы в веб-интерфейсе BQ, сохраняя их результаты в новых таблицах, которые можно использовать для дальнейшего анализа в Tableau. Проблема в том, что мне приходится запускать ~ 10 запросов каждый день, так как мои таблицы событий обновляются каждый день. Как лучше всего автоматизировать (и планировать) выполнение сохраненных запросов (сохраненных в веб-интерфейсе BQ) и периодически обновлять таблицы результатами запросов?

Я изучил командный инструмент bq, задания, API-интерфейсы BigQuery, но я потерялся в изобилии информации (я виню здесь отсутствие моего опыта программирования). Может ли кто-нибудь помочь?


person Ankit Mittal    schedule 05.02.2017    source источник


Ответы (1)


Это может показаться слишком широким вопросом, но я попытаюсь изложить свою точку зрения.

В нашей компании мы автоматизировали все с помощью клиента API python. инструмент.

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

Для планирования мы просто устанавливаем задания CRON в некоторых инстансах EC2. у нас есть в нашем стеке, и они выполняют всю операцию, когда установлено время (мы планируем перенести весь стек в GCP, но это займет некоторое время).

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

person Willian Fuks    schedule 05.02.2017
comment
Спасибо за подсказки Уилл! Я попробую решения, которые вы перечислили выше, и обновлю здесь в зависимости от того, сработали ли они у меня или нет. - person Ankit Mittal; 06.02.2017