Google BigQuery — зачем нужна облачная база данных > NetPeak - Независимость и осознанность
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 упростит ваши будни.

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



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

Как эффективно настроить рекламные кампании в Apple Search Ads — zoom-митап с Радомиром Новковичем

Как эффективно настроить рекламные кампании в Apple Search Ads — zoom-митап с Радомиром Новковичем 5 мая в 17:00 — митап в Zoom с Радомиром Новковичем — фаундером RadASO и CEO Tonti Laguna Mobile....

29 05 2023 8:44:43

Лучшие персональные сайты маркетологов

Лучшие персональные сайты маркетологов Цели у личных сайтов могут быть разные, но в первую очередь они помогают рассказать историю о специалисте...

28 05 2023 14:30:57

Семь улучшений Netpeak: скрипт GetLeads и PPC для брендинга. Выпуск второй

Семь улучшений Netpeak: скрипт GetLeads и PPC для брендинга. Выпуск второй В третьем квартале Netpeak внедрил множество крутых улучшений. Мы подробно расскажем о семи самых интересных новостях....

27 05 2023 2:12:30

Размеры баннеров в Google Ads — какие форматы самые популярные

Размеры баннеров в Google Ads — какие форматы самые популярные Популярные размеры баннеров. Найти самый топовый из джентльменского набора! Мы провели свое исследование....

26 05 2023 11:56:11

Что такое водяной знак и как его используют

Необходимый элемент для защиты контента от копирования и в то же время — шанс стать популярным автором. Тем не менее, от водяных знаков отказываются. Узнать больше!...

25 05 2023 19:48:25

Что такое триггер в маркетинге

Что такое триггер в маркетинге Триггер — способ ненавязчивого воздействия на потенциального клиента путем использования психологических приемов в текстах, заголовках и остальном контенте...

24 05 2023 17:40:35

Как рекламировать товары для HoReCa и выйти на окупаемость в первый месяц работ — кейс econom-service

Как рекламировать товары для HoReCa и выйти на окупаемость в первый месяц работ — кейс econom-service Ещё один проект, который продвигался во время карантина....

23 05 2023 5:35:29

Как воспитать лояльного пользователя: нейромаркетинг в действии

Как воспитать лояльного пользователя: нейромаркетинг в действии Рецензия на книгу «Нейромаркетинг в действии» Дэвида Льюиса...

22 05 2023 1:53:57

Что такое SMM и как работает маркетинг в социальных сетях

Всё что нужно знать про SMM...

21 05 2023 19:36:38

Гид по SEO для мобильных сайтов: инфографика

Гид по SEO для мобильных сайтов: инфографика Разработка, вёрстка и оптимизация мобильных версий сайтов — популярные темы последнего времени. Мы расскажем, что стоит и что не стоит делать в мобильном SEO....

20 05 2023 20:40:12

Как стать популярным в Instagram: инфографика

Как стать популярным в Instagram: инфографика Какой контент публиковать в Instagram, зачем ставить хештеги, какие активности интересны пользователям инсты, как ведут свой Инстаграм топовые бренды. Узнать больше!...

19 05 2023 17:18:54

15 статей о контент-маркетинге — от идеи до размещения

15 статей о контент-маркетинге — от идеи до размещения Где искать информацию, как составить контент-план, писать тексты быстро и легко, а затем продвигать их. Собрали для вас подборку постов о разных этапах работы с контентом....

18 05 2023 3:44:16

SEO-продвижение для СМИ — рост органического трафика на 569%, аудитории — в пять раз

SEO-продвижение для СМИ — рост органического трафика на 569%, аудитории — в пять раз Продвижение казахстанского онлайн-издания, новостника informburo.kz....

17 05 2023 6:52:45

Как написать follow up, чтобы от него был результат?

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

16 05 2023 17:11:18

Руководство для брендов по Playable Ads

Руководство для брендов по Playable Ads Рассказываем о перспективном формате рекламы, который привлекает внимание потребителя даже в эпоху повсеместной «баннерной слепоты»....

15 05 2023 13:12:10

SMM без купюр. Наш тёплый ламповый SMM

SMM от Netpeak — это разработки стратегий продвижения, механики конкурсов, медиапланирование и постоянная интеpaктивная связь с клиентом с помощью «Личного кабинета»....

14 05 2023 4:11:37

Как с помощью ASO увеличить количество бесплатных установок на 25% — кейс monobank

Как с помощью ASO увеличить количество бесплатных установок на 25% — кейс monobank Нам удалось увеличить количество органических показов на 63% и установок на 25%....

13 05 2023 23:10:29

Первопроходцы в нише ремонта мобильных телефонов в Казахстане — история Satel.kz

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

12 05 2023 0:34:47

Сплит-тест — скоростное шоссе к высокой конверсии

Сплит-тест — скоростное шоссе к высокой конверсии 5 кейсов отлично иллюстрируют правила юзабилити и находки веб-аналитиков....

11 05 2023 1:53:32

Дополнительные ссылки в Google Рекламе

Быстрый инструмент для повышения CTR — дополнительные ссылки Google Рекламы...

10 05 2023 6:18:15

Сайт попал под фильтр. Так ли страшен черт, как его малюют?

Сайт попал под фильтр. Так ли страшен черт, как его малюют? Советы специалистов Netpeak: виды фильтров Google, что с этим делать и как снять ручные санкции Google....

09 05 2023 19:49:15

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

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

08 05 2023 20:18:15

Как настроить запуск R-скрипта по расписанию?

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

07 05 2023 16:41:49

Контекстная реклама для строительной компании в Украине — рост конверсий в 5 раз

Контекстная реклама для строительной компании в Украине — рост конверсий в 5 раз Почему в рекламе недвижимости стоит запускать динамический ремаркетинг...

06 05 2023 23:11:31

Инструкция по работе с ***ytics Intelligence: как найти общий язык с Google ***ytics

Инструкция по работе с ***ytics Intelligence: как найти общий язык с Google ***ytics Не можете найти нужны отчёт в Google ***ytics? Или хотите ускорить поиск нужных данных и отчётов. В помощь ⏩ Обзор к Google ***ytics Intelligence....

05 05 2023 12:45:54

Как работать с автостратегиями Google Ads

Как работать с автостратегиями Google Ads И научиться делать свою рекламу прибыльной. Читайте про типы автостратегий и способы их оптимизации....

04 05 2023 23:43:24

Антикейс: продвижение Endorphone.com.ua с помощью видеоблогеров

Как избежать ошибок при продвижении интернет-магазина с помощью видеоблогеров....

03 05 2023 20:13:33

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане во втором квартале 2018 года

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане во втором квартале 2018 года Данные о стоимости клика в наиболее популярных рекламных интернет-площадках страны....

02 05 2023 20:31:33

Лидеры рынка фармы — топ сайтов, которые видят украинцы, когда ищут лекарства в интернете

Статистика изменений долей рынка после майского и декабрьского апдейта Google в 2020 году....

01 05 2023 16:11:35

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

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

30 04 2023 13:33:16

Партнерство с Amazon — всё? Что делать после уменьшения партнерских выплат

Партнерство с Amazon — всё? Что делать после уменьшения партнерских выплат Amazon сократил комиссию для сайтов партнеров от 30% до 80% — что делать дальше? Мнение эксперта....

29 04 2023 17:51:48

Как грамотно работать с Директ Коммaндер

Как грамотно работать с Директ Коммaндер Директ Коммaндер от Яндекса позволяет легко работать с большими кампаниями...

28 04 2023 23:36:19

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743%

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743% Результаты грамотного внедрения технического SEO-аудита...

27 04 2023 3:34:11

SEO-среда: отcлеживание целей и настройка событий

SEO-среда: отcлеживание целей и настройка событий Настройка целей в Google ***ytics, а также отслеживание событий....

26 04 2023 17:57:53

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

Как арбитражник использует редирект в контекстной рекламе Чтобы перенаправить рекламу не на свой домен, арбитражники используют редирект в Яндексе при работе с партнерскими ссылками...

25 04 2023 12:47:54

Выбираем оффер правильно: инструкция для начинающего арбитражника

От того, что такое оффер до лучших стратегий и избежания ошибок...

24 04 2023 13:58:52

Декабрьский апдейт от Google — влияние на YMYL-сайты

Декабрьский апдейт от Google — влияние на YMYL-сайты Свежесть и актуальность контента — главные уроки из Google December 2020 Core Update. Почему — читайте в статье....

23 04 2023 0:56:34

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

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

22 04 2023 11:45:31

Язык R в веб-аналитике и интернет-маркетинге — интервью с Алексеем Селезневым

Зачем маркетологи и аналитики обращаются к языку программирования R в повседневной работе нужно и какая польза от программирования на R в интернет-маркетинге в интервью Алексея Селезнева...

21 04 2023 15:49:48

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

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

20 04 2023 1:46:22

10 онлайн способов улучшить контент

10 онлайн способов улучшить контент Как преодолеть онлайн писательский ступор, разобраться с рутиной и освободить время для экспериментов...

19 04 2023 10:52:48

Как увеличить продажи из РСЯ — рост транзакций на 427% за месяц

Как увеличить продажи из РСЯ — рост транзакций на 427% за месяц Как увеличить количество транзакциий, сохранив прибыльность кампании в РСЯ?...

18 04 2023 21:39:11

Как долго живет лид в базе email-рассылки?

Как долго живет лид в базе email-рассылки? Это исследование для тех, кто хочет выяснить, эффективно ли работать с лидами, если им год и больше...

17 04 2023 17:14:29

Мониторинг ошибок 404 с помощью специальных отчетов в Google ***ytics

Мониторинг ошибок 404 с помощью специальных отчетов в Google ***ytics Простой способ отслеживания как внутренних, так и внешних битых ссылок. Узнать больше!...

16 04 2023 21:23:11

Английский язык — два упражнения для пополнения словарного запаса и развития разговорной речи

Английский язык — два упражнения для пополнения словарного запаса и развития разговорной речи Улучшайте свой уровень английского. Упражнения для В1 — Intermediate («Средний+»). Узнать больше!...

15 04 2023 17:46:11

Как провести A/B-тест сайта: инструменты и популярные гипотезы

Как провести A/B-тест сайта: инструменты и популярные гипотезы 22 оригинальные гипотезы для A/B-теста сайта, которые чаще всего влияют на получаемую прибыль...

14 04 2023 16:12:13

Настраиваем Google Рекламу на мобильные приложения

Настраиваем Google Рекламу на мобильные приложения Реклама мобильных приложений. Хотите показывать рекламу в играх? Вам сюда. Узнайте как правильно настроить показ рекламы на мобильных устройствах....

13 04 2023 23:27:40

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

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

12 04 2023 3:41:49

Клиент пришел на сайт из Facebook и оставил заявку в чате — как это отследить

Клиент пришел на сайт из Facebook и оставил заявку в чате — как это отследить Как считать конверсии из Facebook, когда они происходят в Jivosite и Битрикс24....

11 04 2023 4:57:16

Как настроить бесплатный стриминг в Google ***ytics

Как настроить бесплатный стриминг в Google ***ytics Три способа парсинга данных с помощью Owox BI Pipeline, Mix Data BI Import, Owox BI Power Upload....

10 04 2023 7:50:50

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