Перевод статьи подготовлен в преддверии старта курса «Нереляционные базы данных».




В этой статье мы рассмотрим варианты загрузки данных в облачное хранилище Google BigQuery. Сюда входят простые способы загрузки данных из CSV/JSON файлов и способы загрузки через API или расширение.

С помощью Google BigQuery (GBQ) можно собирать данные из разных источников и анализировать их с помощью SQL-запросов. Среди преимуществ GBQ — высокая скорость вычислений даже на больших объемах данных и низкая стоимость.

Зачем нужно загружать данные в единое хранилище? Если вы хотите использовать сквозную аналитику, генерировать отчеты из сырых данных и оценивать эффективность вашего маркетинга, то вам нужен Google BigQuery.

Если вам нужно проанализировать терабайты данных за секунды, Google BigQuery — самый простой и доступный выбор. Вы можете узнать больше об этом сервисе, посмотрев короткий видеоролик на YouTube-канале Google Developers.

Создание набора данных и таблицы


Перед загрузкой каких-либо данных, сперва необходимо создать набор данных и таблицу в Google BigQuery. Для этого на главной странице BigQuery выберите ресурс, в котором вы хотите создать набор данных.


Изображения, используемые в статье, предоставлены автором

Укажите в окне «Create dataset» идентификатор набора данных, выберите место обработки данных и установите срок хранения таблицы по умолчанию.
Примечание: Если вы выберете «Never» в качестве истечения срока хранения таблицы, физическое хранилище не будет определено. Для временных таблиц вы можете указать количество дней их хранения.



Затем создайте таблицу в наборе данных.



Готово! Теперь можете начать загрузку данных.

Загрузка данных с помощью Google Таблиц (расширение OWOX BI BigQuery Reports).


Если вам нужно загрузить данные из Google Таблиц в Google BigQuery, самый простой способ сделать это — установить бесплатное расширение OWOX BI BigQuery Reports.

Вы можете установить это расширение прямо из Google Таблиц или из Chrome Web Store.



После его установки появится диалоговое окно с подсказками и запросом разрешений.



Теперь пора вернуться к Google Таблицам. Чтобы загрузить данные в BigQuery, просто выберите «Upload data to BigQuery» в меню «Add-ons» -> «OWOX BI BigQuery Reports».



Укажите проект, набор данных и имя таблицы, в которую нужно загрузить данные. И все :)

Неоспоримым преимуществом расширения OWOX BI BigQuery Reports является простота использования. Вы также можете использовать расширение для настройки запланированных отчетов.

Чтобы создавать отчеты на основе точных сырых данных из всех источников и автоматически загружать их в репозиторий Google BigQuery, мы рекомендуем использовать сервис OWOX BI Pipeline.

С помощью Pipeline вы можете настроить автоматический сбор данных из рекламных сервисов, из систем отслеживания звонков и CRM. Это позволяет быстро и легко получать готовые наборы полных данных из выбранных вами источников.



Просто выберите источники данных и разрешите доступ; остальное оставьте OWOX BI.

С OWOX BI вы можете создавать отчеты на любой вкус и цвет, от ROI, ROPO-эффекта и когортного анализа до LTV и RFM анализа.

Загрузка данных из CSV-файлов


Чтобы загрузить данные из CSV-файла, в окне «Create table» нужно выбрать источник данных и использовать опцию «Upload».



Затем выберите файл и его формат.



Далее нужно определить место назначения для данных, указав имя проекта и набор данных.

Примечание: В Google BigQuery вы можете выбрать два типа таблиц: в нативном формате и внешнем (external).




Google BigQuery автоматически определит структуру таблицы, но если вы хотите добавить поля вручную, вы можете использовать либо функцию редактирования текста, либо кнопку + Add field.

Примечание: Если вы хотите вмешаться в процесс парсинга данных из CSV-файла в Google BigQuery, вы можете воспользоваться расширенными параметрами.



Для получения дополнительной информации о формате CSV см. подробную документацию от Internet Society.

Загрузка данных из JSON-файлов


Чтобы загрузить данные из JSON-файла, повторите все шаги, приведенные выше: создайте или выберите набор данных и таблицу, с которыми вы работаете, — только в качестве формата файла выберете JSON.
Вы можете загрузить JSON-файл со своего компьютера, Google Cloud Storage или диска Google Drive.



Примечание: Дополнительную информацию о формате JSON см. в документации Google Cloud.

Загрузка данных из Google Cloud Storage.


Google Cloud Storage позволяет безопасно хранить и передавать данные онлайн.

Полезная информация о работе с этим сервисом:

Начало работы с Google Cloud Storage
Документация Cloud Storage
Краткие руководства
Выбор хранилища и базы данных на Google Cloud Platform

Вы можете загружать файлы из Google Cloud Storage в Google BigQuery в следующих форматах:

  • CSV
  • JSON (с разделителями новой строки)
  • Avro
  • Parquet
  • ORC
  • Cloud Datastore




Подробнее об использовании Cloud Storage с big data можно прочитать в официальной документации.

Вы также можете узнать об ограничениях на загрузку данных и разрешениях Cloud Storage в справочном центре Google Cloud.

Загрузка данных из других сервисов Google, таких как Google Ads и Google Ad Manager.


Чтобы загрузить данные из различных сервисов Google, сначала необходимо настроить BigQuery Data Transfer Service. Прежде чем вы сможете его использовать, вы должны выбрать или создать проект данных и, в большинстве случаев, включить для него биллинг. Например, биллинг является обязательным для следующих служб:

  • Campaign Manager
  • Google Ad Manager
  • Google Ads
  • Google Play (бета)
  • YouTube — Channel Reports
  • YouTube — Content Owner Reports


Примечание: Подробнее о настройке и изменении оплаты вы можете узнать в справочном центре Google Cloud.

Для того чтобы запустить BigQuery Data Transfer Service, на главной странице BigQuery выберите пункт «Transfers» в меню слева.



Примечание: Вам потребуются права администратора для создания Transfer’а.

В следующем окне все, что вам нужно сделать, это выбрать нужный источник данных.



Примечание: Доступ к BigQuery Data Transfer Service можно получить не только из консоли платформы, но и из:
  • сlassic bq_ui
  • bq command-line tool
  • BigQuery Data Transfer Service API


После настройки служба будет автоматически и регулярно загружать данные в BigQuery. Однако вы не можете использовать ее для выгрузки данных из BigQuery.

Загрузка данных с помощью API


Благодаря Cloud Client Libraries вы можете использовать свой любимый язык программирования для работы с API Google BigQuery.

Примечание: Более подробную информацию о загрузке данных с помощью API можно найти в документации Google Cloud.

Для начала вам необходимо создать или выбрать проект, с которым вы будете работать. Затем на главной странице перейдите в раздел API.



В окне обзора API вы можете подключить API и службы. Нужно выбрать необходимый вам API из библиотеки.



В библиотеке вы можете использовать поиск по полю или отфильтровать API по категории.



Можно использовать набор скриптов на Python из OWOX BI для автоматизации импорта данных в Google BigQuery.
Там есть скрипты для автоматизации импорта данных в Google BigQuery из следующих источников:

  • amoCRM
  • FTP
  • FTPS
  • HTTP(S)
  • Intercom
  • ExpertSender
  • MySQL
  • SFTP


Эти Python-скрипты можно загрузить с GitHub.

Примечание: Узнайте, как использовать Python при работе с Google API, из этого видеоурока от Google Developers на YouTube.

Выводы


В этой статье мы рассмотрели наиболее популярные способы загрузки данных в Google BigQuery. От простой загрузки файла с данными до загрузки данных через API — любой пользователь сможет найти подходящий ему вариант.