2017-02-05 5 views
1

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

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

ответ

0

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

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

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

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

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

+1

Спасибо за указатели Воля! Я попробую решения, перечисленные выше, и обновить их на основе того, работают ли они на меня или нет. –