NetPeak Biz Tech    


Google BigQuery — зачем нужна облачная база данных

Google BigQuery — зачем нужна облачная база данных

< >

Ранее я публиковал цикл материалов о работе с Google BigQuery. В этой статье расскажу о преимуществах и особенностях сервиса, а также о дополнительных инструментах для BigQuery.

Google BigQuery — это облачная база данных с высочайшей скоростью обработки огромных массивов данных.

Как начать работу в Google BigQuery

Войдите в Google Cloud Platform. При первом запуске система предложит активировать бесплатный пробный период и получить кредит $300 на 12 месяцев. Честно говоря, чтобы потратить за год в BigQuery эту сумму, вам придется очень сильно постараться.

Для дальнейшей работы введите платежные данные.

Нажмите «Выбрать проект».

Затем — «Создать проект».

Примите условия использования платформы.

Наконец, назовите проект, задайте настройки уведомлений и еще раз согласитесь с условиями использования платформы.

После подтверждения подождите несколько минут.

Вскоре вы получите оповещение, что проект создан.

Перейдите в раздел оплаты и привяжите платежный аккаунт.

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

Перейдите в интерфейс Google BigQuery и напишите свой первый запрос.

Чтобы открыть редактор запросов, нажмите «Compose query» или сочетание клавиш «Ctrl + Space».

Рассмотрим, как написать первый запрос на примере публичных данных в BigQuery. Возьмите первые 15 строк из таблицы project_tycho_reports, которая находится в наборе публичных данных lookerdata.

SELECT *FROM [lookerdata:cdc.project_tycho_reports]LIMIT 25

Запрос вернет результат:

Как начать работу с BigData — загружаем данные в Google BigQuery Ранее я описывал самые простые способы загрузки собственных данных в Google BigQuery, а в этой статье расскажу, как загрузить данные с помощью языка R. Но перед этим разберем важный вопрос.

Истории бизнеса и полезные фишки

Почему стоит выбрать именно Google BigQuery

Скорость — это основное преимущество BigQuery, но не единственное. BigQuery — облачный сервис. При его использовании не понадобится арендовать сервер и оплачивать поддержку.

Стоимость BigQuery значительно ниже стоимости аренды самого примитивного сервера: даже если вы очень постараетесь и будете ежедневно записывать в эту базу данных миллионы строк, все равно вряд ли сможете потратить более $5.

Следующее преимущество — простота использования. В любой другой системе управления базами данных (СУБД) помимо знания SQL придется долго разбираться с тонкостями администрирования и настройками базы.

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

У BigQuery всю административную часть на себя взял Google. В этом сервисе нет никаких настроек, индексов, движков таблиц, тайм-аутов или внешних ключей. Реализована поддержка только одной кодировки UTF-8.

Для работы с BigQuery достаточно знать, как загрузить данные в BigQuery, и иметь базовые знания в SQL.

Несмотря на простоту, в BigQuery реализована поддержка пpaктически всех функций СУБД:

Правда, на момент публикации статьи сервис не поддерживает:

  • рекурсивные запросы;
  • создание хранимых процедур и функций;
  • транзакции.

Особенности SQL для Google BigQuery

BigQuery умеет переключаться между стандартным SQL и диалектами.

DML-операции INSERT, UPDATE и DELETE на данный момент поддерживаются только при использовании стандартного SQL.

Еще одно отличие между этими диалектами — способ вертикального объединения таблиц. В стандартном SQL для этого служит оператор UNION и ключевое слов ALL или DISTINCT:

SELECT 12 AS A, 32 AS BUNION ALLSELECT 2 AS A, 29 AS B

В собственном SQL-диалекте функционал для вертикального объединения таблиц значительно шире. Существует специальный набор функций подстановки таблиц (Table Wildcard Functions).

Как обpaбатывать данные из множества таблиц в Google BigQuery Этот способ объединения таблиц я уже подробно описывал ранее.

Для простого объединения достаточно просто перечислить названия нужных таблиц или подзапросы через запятую. Объединение запросов из примера выше на внутреннем диалекте SQL в BigQuery будет выглядеть так:

SELECT *FROM (SELECT 12 AS A, 32 AS B), (SELECT 2 AS A, 29 AS B)

Переключатель между SQL-диалектами в BigQuery находится в интерфейсе в блоке опций: нажмите кнопку Show options под редактором запросов.

С помощью галочки «SQL Dialect» переключитесь на нужный диалект.

Инструменты для работы с BigQuery

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

Как связать Microsoft Power BI и Google BigQuery Интеграция Google BigQuery c BI-платформами и электронными таблицами Как получить данные в различных BI платформах, я писал в статьях об интеграции с электронными таблицами и Microsoft Power BI.

Microsoft Power BI, как и большинство популярных  BI-систем и электронных таблиц, с июля 2017 года поддерживает интеграцию с Google BigQuery из коробки. У коннектора довольно скудные возможности: он не умеет обращаться к сохраненным представлениям или отправлять в BigQuery запросы. Пока что с помощью встроенного коннектора можно вытягивать только плоские таблицы.

Simba Drivers

Если вам необходимо получить данные из Google BigQuery в электронной таблице или BI-системе, которая из коробки не поддерживает интеграцию, воспользуйтесь бесплатным Simba Drivers.

Этот драйвер поддерживает все необходимые возможности, включая переключения SQL-диалектов. Подробности настройки ищите в моей статье о связке Microsoft Power BI и Google BigQuery.

Язык R

Язык R — один из самых мощных инструментов для работы с данными. Он умеет как получать данные из Google BigQuery, так и записывать их. Для этого удобнее всего пакет bigrquery.

Для начала установите язык R. Также для удобства работы с R я рекомендую установить интегрированную среду разработки RStudio.

Запустите RStudio и с помощью сочетания клавиш «Ctrl+Alt+Shift+0» откройте все доступные в ней панели. Чаще всего понадобятся панели Source и Console.

Для установки develop-версии пакета bigrquery из репозитория на GitHub предварительно установите пакет devtools. Введите в окно Source код, затем выделите его (зажмите левой кнопки мыши) и нажмите «Ctrl+Enter» для выполнения комaнды:

install.packages(\"devtools\")

Теперь установите пакет bigrquery:

devtools::install_github(\"rstats-db/bigrquery\")

Чтобы в R были доступны функции пакета, после установки подключите их с помощью комaнды library или require. Например, подключим пакет bigrquery с помощью кода:

library(bigrquery)

Структура данных в Google BigQuery состоит из проекта с набором данных, содержащим таблицы. Проект вы уже создали, а теперь для передачи информации создайте набор данных. Выберите в интерфейсе из выпадающего меню «Create new dataset».

Чтобы создать набор данных с помощью языка R, воспользуйтесь комaндой insert_dataset. Комaнда требует всего 2 аргумента:

project — ID проекта (возьмите из URL в BigQuery).

dataset — название нового набора данных.

Давайте создадим первый набор данных с названием myFirstDataSet. Введите в область Source приведенный ниже код, выделите комaнду с помощью мыши и нажмите «Ctrl+Enter» для выполнения.

insert_dataset(project = \"myfirstproject-185308\", dataset = \"myFirstDataSet\")

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

Введите на запрос Selection в Console ответ Yes и нажмите Enter. Откроется браузер — разрешите доступ к данным и получите авторизационный код.

Скопируйте сгенерированный код. Затем вставьте его в Console RStudio в ответ на запрос авторизационного кода и нажмите Enter.

Отлично, вы создали набор данных.

Теперь запишите встроенную в R таблицу mtcars в набор данных myFirstDataSet. Для передачи данных из R в BigQuery в пакете bigrquery есть функция insert_upload_job. Она принимает такие аргументы:

project — ID проекта (смотрите либо в URL проекта, либо в режиме переключения проектов).

dataset — название набора данных, куда вы планируете отправить данные. В нашем случае myFirstDataSet.

table — название таблицы с записанными данными.

values — data frame (таблица данных) в R с данными для передачи в BigQuery.

billing = project аккаунта для оплаты операции. По умолчанию — платежный аккаунт, который привязан к проекту.

create_disposition — опция для определения необходимых действий.
Если в BigQuery нет таблицы с заданным в аргументе table названием, укажите \"CREATE_IF_NEEDED\" — система создаст новую таблицу.
Если указать \"CREATE_NEVER\" и таблица с заданным именем не найдется в наборе данных, будет возвращена соответствующая ошибка.

write_disposition — опция для выбора добавления данных в существующую таблицу.
\"WRITE_APPEND\" — дописать данные в таблицу.
\"WRITE_TRUNCATE\" — перезаписать данные в таблице.
\"WRITE_EMPTY\" — записать данные для пустой таблицы.

Код для передачи в BigQuery встроенной в R таблицы mtcars:

insert_upload_job(project = \"myfirstproject-185308\", dataset = \"myFirstDataSet\", table = \"mtcars_bigquery\", values = mtcars, create_disposition = \"CREATE_IF_NEEDED\", write_disposition = \"WRITE_APPEND\")

При успешном выполнении операции в консоли R появится дополнительная информация, а в интерфейсе BigQuery — созданная таблица mtcars_bigquery.

Для запроса данных из BigQuery в R в пакете bigrquery предназначена функция query_exec. Основные аргументы:

query — текст SQL-запроса, результат которого вы хотите загрузить в R.

project — ID проекта для запроса данных.

page_size — максимальный размер возвращаемого результата в строках (по умолчанию 10 000).

max_pages — максимальное количество страниц возврата запросом (по умолчанию 10).

use_legacy_sql — выбор SQL-диалекта для обработки запроса.
По умолчанию задано значение TRUE с внутренним диалектом BigQuery.
Для стандартного диалекта SQL задайте в этом аргументе значение FALSE.

Для обратного запроса данных, которые вы отправили в BigQuery на прошлом шаге, задайте комaнду:

bq_mtcars_table <- query_exec(query = \"SELECT * FROM myFirstDataSet.mtcars_bigquery\", project = \"myfirstproject-185308\", use_legacy_sql = TRUE)

В рабочем окружении (описание которого вы видите в окне Environment) появится новый объект bq_mtcars_table.

Выводы

Google BigQuery — простой и в то же время мощнейший инструмент для хранения и обработки данных. Это облачная база данных с поддержкой большинства функций СУБД.

Сервис обходится значительно дешевле содержания, поддержки и администрирования сервера для бесплатных баз данных (MySQL или PostgreSQL).

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

Успехов в работе с большими данными!



Комментарии:

Закрытый софт Netpeak для проверки позиций под кодовым названием «Камасутра»

Закрытый софт Netpeak для проверки позиций под кодовым названием «Камасутра» Проверка позиций: бесценный онлайн софт для SEO-специалистов :)...

16 07 2026 4:31:57

Блогеры vs таргетинг: плюсы и минусы

Блогеры vs таргетинг: плюсы и минусы Какой рекламный инструмент использовать, чтобы получить максимальный результат...

15 07 2026 17:51:27

Как работать с приложениями в Google Play Developers Console

Как работать с приложениями в Google Play Developers Console Как узнавать эффективность страницы мобильного приложения в Play Маркете? Учимся работать в Google Play Developers Console....

14 07 2026 3:16:38

Как оптимизировать YouTube-канал

Как оптимизировать YouTube-канал Инструкция по технической подготовке к продвижению...

13 07 2026 1:50:56

Как маркетинговому агентству выйти на зарубежный рынок. Опыт ADINDEX

Статья будет полезна небольшим агентствам, которые мечтают работать с заграничными клиентами. Зачем нужно выходить за рубеж, если и в своей стране все идет неплохо, да и вообще — нет времени на продвижение на незнакомом рынке? Давайте разбираться вместе!...

12 07 2026 14:10:47

Основатель Depositphotos Дмитрий Сергеев: «Играйте только там, где вам проще»

Основатель Depositphotos и Clashot Дмитрий Сергеев рассказал нам о базовых правилах ведения бизнеса на западном рынке....

11 07 2026 12:32:32

SEO-продвижение интернет-магазина строительных товаров в Украине — рост трафика на 121% и дохода на 413%

SEO-продвижение интернет-магазина строительных товаров в Украине — рост трафика на 121% и дохода на 413% Мы достигли поставленных на старте продвижения целей: вернули потерянный трафик, получили дальнейший рост видимости сайта и увеличили доход....

10 07 2026 13:32:20

Поведенческая аналитика — что мешает клиенту сделать заказ

Поведенческая аналитика — что мешает клиенту сделать заказ Анализируя поведение аудитории, вы сможете понять, почему клиенты приходят на сайт, почему уходят, и почему не делают заказы....

09 07 2026 8:58:18

Сколько стоил клик в Google Ads в Украине в третьем квартале 2021 года

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

08 07 2026 0:24:39

Как запустить локальную кампанию Google Ads — пошаговая инструкция

Как запустить локальную кампанию Google Ads — пошаговая инструкция Есть офлайн-точка продаж и нужно привлечь сюда больше клиентов. Что делать? Настраиваем локальные кампании. Показываем и рассказываем, как это делать....

07 07 2026 5:13:49

Семь улучшений Netpeak: тематические стратегии продвижения одежды, ремонта, еды и финансовых услуг

А ещё Netpeak Cluster стал инструментом и у нас появился хаб знаний на YouTube....

06 07 2026 18:31:19

Показатель качества от экс-гуглера

Показатель качества от экс-гуглера Если вы не можете улучшить свой уровень конверсий и поднять ставки, оптимизация показателя качества может быть вашим единственным выходом, чтобы сохранить высокий рейтинг без больших затрат. Статья, которая расставляет точки над «i»....

05 07 2026 15:29:40

Чем наш PPC-отдел круче остальных?

Чем наш PPC-отдел круче остальных? Мария Гoлyб устала отвечать на вопрос «Какие преимущества PPC-отдела в Netpeak?» и решила написать об этом пост....

04 07 2026 23:47:44

Краткое руководство по системному управлению проектами в PPC

Краткое руководство по системному управлению проектами в PPC Как специалисту оптимизировать рабочее время, качественно развивать проекты и меньше нервничать...

03 07 2026 15:47:37

Global Tag Site — обзор фреймворка от Google

Global Tag Site — обзор фреймворка от Google Почему имеет смысл выбрать его, а не Google Tag Manager?...

02 07 2026 20:22:40

Кейс: как спасти проект и увеличить органический трафик на 109% за 6 месяцев

Кейс: как спасти проект и увеличить органический трафик на 109% за 6 месяцев Как улучшить видимость сайта после оптимизаторов-староверов — кейс в тематике «световое и звуковое оборудование»....

01 07 2026 19:27:13

TikTok, Banda, Rocket, I am IDEA и McCann Kyiv — идеи для видеоконтента

TikTok, Banda, Rocket, I am IDEA и McCann Kyiv — идеи для видеоконтента Инсайты Диви Конф 2021, онлайн-конференции о видеомаркетинге....

30 06 2026 6:50:50

Как работать с перформанс-рекламой

Как работать с перформанс-рекламой И зачем топ-менеджерам разбираться в настройках кампаний, повышать свою техническую грамотность? Показываем на примерах и раскладываем по полочкам....

29 06 2026 9:58:53

SEO в стиле mobile-friendly: FAQ по новому фактору ранжирования

SEO в стиле mobile-friendly: FAQ по новому фактору ранжирования 21 апреля Google официально начнет учитывать совместимость с мобильными девайсами в качестве одного из факторов ранжирования сайта в мобильном поиске. Что это значит для владельцев сайтов и вебмастеров? Мы подготовили небольшой FAQ по теме для рубрики «SE...

28 06 2026 7:47:38

Сколько стоил клик в Google Ads во втором квартале 2016 — исследование Netpeak

Сколько стоил клик в Google Ads во втором квартале 2016 — исследование Netpeak Алексей Селезнев проанализировал более 7 миллионов кликов и посчитал, во сколько обходятся рекламодателям клики по объявлениям в разных странах и тематиках....

27 06 2026 5:57:29

Как настроить передачу данных о заказе с помощью Google Tag Manager

Как настроить передачу данных о заказе с помощью Google Tag Manager Для эффективного ведения контекстной рекламы необходимо отслеживать продажи. Как сделать это с помощью Google Tag Manager расскажем в этой статье...

26 06 2026 16:47:49

Как я работаю: рассказ PPC-специалиста

Как я работаю: рассказ PPC-специалиста Как специалисту с нуля обучиться контекстной рекламе и совмещать работу с хобби...

25 06 2026 11:24:42

Как продвигаться в Instagram, если у вас B2B-бизнес

Как продвигаться в Instagram, если у вас B2B-бизнес Распространенные ошибки продвижения B2B-компаний + стратегии того, как наращивать число активных подписчиков и потенциальных клиентов....

24 06 2026 9:52:44

Как загрузить данные из API Google ***ytics в R: часть 2

Пример использования пакета google***yticsR от Марка Эдмондса...

23 06 2026 3:55:46

Как с помощью разнообразия контент-плана увеличить доход от рассылок — кейс fatline.com.ua

Как с помощью разнообразия контент-плана увеличить доход от рассылок — кейс fatline.com.ua Новые триггеры, разнообразие рассылок и обновленная форма подписки дали нужный результат....

22 06 2026 18:34:30

Скелеты в шкафу РСЯ: как эффективно построить рекламную кампанию?

Как создавать результативные кампании в Рекламной сети Яндекса...

21 06 2026 10:25:32

Анонимный покупатель на страже роста продаж — опыт агентства Netpeak

Анонимный покупатель на страже роста продаж — опыт агентства Netpeak И эксперт, и агент. Анонимный покупатель — специальная проверка бизнес-процессов до и во время рекламной кампании...

20 06 2026 12:23:31

Кейс по контекстной рекламе сайта купальников и нижнего белья марки Victoria’s Secret: ROMI 255%

Кейс по контекстной рекламе сайта купальников и нижнего белья марки Victoria’s Secret: ROMI 255% Наибольшее количество онлайн транзакций было получено по брендовым запросам женского белья...

18 06 2026 19:21:55

HTML5 объявления в Google Рекламе

HTML5 объявления в Google Рекламе Flash онлайн объявлений в формат HTML5: нововведение гугл рекламы...

17 06 2026 19:38:29

Семь улучшений Netpeak: построение репутации для нового бренда, продвижение в TikTok и PR-статьи в журнале

Семь улучшений Netpeak: построение репутации для нового бренда, продвижение в TikTok и PR-статьи в журнале Еще организовали новую онлайн-конференцию, запустили опрос онлайн-покупателей, создали SEO-услугу для крупного бизнеса, рассказали, как вести В2С и В2В аккаунты в Instagram и ввели консультации SMM-специалистов....

16 06 2026 3:44:36

Как собрать аудиторию подписчиков YouTube с 0 до 10 000 за год — кейс канала магазина для любителей рыбалки

Как собрать аудиторию подписчиков YouTube с 0 до 10 000 за год — кейс канала магазина для любителей рыбалки Кейс продвижения YouTube-канала магазина товаров для рыбалки...

15 06 2026 23:55:38

Динамический ремаркетинг в myTarget: подробный мануал и кейс

Динамический ремаркетинг в myTarget: подробный мануал и кейс Как настроить динамический ремаркетинг в myTarget и эффективно ли работают такие объявления — делимся собственным опытом....

14 06 2026 18:33:49

Как сделать SPA-сайты SEO-Friendly?

Как сделать SPA-сайты SEO-Friendly? Всем, кто собирается перейти на Single Page Application, но переживает, что они поссорятся с поисковыми системами. Правильно переживаете!...

13 06 2026 16:55:21

Карантин 2020 — как сохранить здоровую психику

Карантин 2020 — как сохранить здоровую психику Самопомощь по тревоге во время карантина и экономического кризиса...

12 06 2026 3:40:25

Sitemap.xml или карта сайта — руководство для новичков

Sitemap.xml или карта сайта — руководство для новичков Подробно рассказываем, как создать, внедрить и проверить XML-карту сайта....

11 06 2026 1:18:21

Как настроить код динамического ремаркетинга Google Ads без программиста

Часто в распоряжении клиента только интерфейс конструктора сайтов, весьма ограниченный в функциональности. Тогда на помощь интернет-маркетологу приходит сервис Tag Manager, благодаря которому можно настроить необходимый код расширенной электронной торговли....

10 06 2026 16:26:33

Продвижение мобильного приложения в Яндекс.Директ — руководство для новичков

Продвижение мобильного приложения в Яндекс.Директ — руководство для новичков Детальная инструкция по настройке рекламы мобильного приложения в Яндекс.Директ....

09 06 2026 12:15:10

Удаленка и низкая продуктивность — когда пора выходить в офис

Причины, по которым имеет смысл работать в офисе хотя бы несколько дней в неделю, а может и больше. Конечно, только если эпидемиологическая ситуация не заставляет оставаться дома. Берегите себя....

08 06 2026 11:13:12

Как приводить трафик на молодой сайт: результаты обсуждения темы на Quora

Как приводить трафик на молодой сайт: результаты обсуждения темы на Quora Повышение посещаемости на сайте: контент, seo, ppc и многое другое...

06 06 2026 17:32:56

SEO-среда: 7 способов улучшить поведенческие факторы сайта

SEO-среда: 7 способов улучшить поведенческие факторы сайта Совет Константина Леоновича (Sape.ru), 4 наших + 2 бонусных...

05 06 2026 5:22:17

Дополнение Google Ads для Google Taблиц — руководство пользователя

Дополнение Google Ads для Google Taблиц — руководство пользователя Как сократить время на создание собственных отчетов, если вы работаете с большими рекламными аккаунтами...

04 06 2026 0:26:22

Стратегия email-маркетинга: кому и зачем мы шлем письма

Стратегия email-маркетинга: кому и зачем мы шлем письма Старт любых активностей в сфере email-маркетинга — разработка стратегии...

03 06 2026 9:54:25

10 полезных приемов работы в Редакторе AdWords

10 полезных приемов работы в Редакторе AdWords Как специалисту сэкономить время для создания и оптимизации кампаний, проверки орфографии и другие фишки. Советы из пpaктики....

02 06 2026 10:34:40

Как начать работу с BigData — загружаем данные в Google BigQuery

Как начать работу с BigData — загружаем данные в Google BigQuery Начинаем работать с облачным сервисом хранения Google BigQuery...

01 06 2026 13:15:26

Как с помощью Google Tag Manager отследить отправку формы на сайте

Отслеживание конверсий: покупка, подписка на рассылку, отправка контактных данных и другое....

31 05 2026 8:37:38

Как связать CRM с системой Сall Tracking — кейсы для руководителя, менеджера и маркетолога

Как связать CRM с системой Сall Tracking — кейсы для руководителя, менеджера и маркетолога Лучшая работа по перехвату инициативы у конкурентов в аналитике продаж...

30 05 2026 14:53:32

Что такое безанкорные ссылки

Что такое безанкорные ссылки Полезный ликбез для новичков и бизнесменов: анкорные и безанкорные ссылки. Чем отличаются, зачем нужны, какое влияние оказывают на раскрутку сайта в интернете? Узнать!...

28 05 2026 18:20:12

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::