Как обpaбатывать данные из множества таблиц в Google BigQuery > NetPeak - Независимость и осознанность
NetPeak Biz Tech    


Как обpaбатывать данные из множества таблиц в Google BigQuery

Как обpaбатывать данные из множества таблиц в Google BigQuery

< >

В прошлой статье я рассказывал об оконных функциях в Google BigQuery. Сегодня рассмотрим функции подстановки таблиц. Здесь всё проще.;

Обычно в SQL для объединения данных из нескольких таблиц в одном запросе используют функцию UNION, но в справочнике доступных функций Google BigQuery вы ее не найдете. Чтобы обратиться в одном запросе одновременно к нескольким таблицам, достаточно перечислить их названия через запятую в пункте FROM. Например, у нас в базе есть 5 таблиц:

  • Sales_june_2015;
  • Sales_july_2015;
  • Sales_august_2015;
  • Sales_september_2015;
  • Sales_october_2015.

Нам необходимо посчитать сумму продаж за третий квартал 2015 года. Информация о продажах в третьем квартале находится в таблицах Sales_july_2015, Sales_august_2015 и Sales_september_2015. Соответственно, нам надо перечислить названия этих таблиц в пункте FROM.

SELECT SUM(Sales) as salesFROM Sales_july_2015, Sales_august_2015, Sales_september_2015

; Таким образом, для BigQuery три таблицы при выполнении запроса будут равносильны одной целой таблице о продажах за третий квартал. Важно, чтобы таблицы, которые вы перечисляете через запятую, имели одинаковую структуру данных. Когда в вашем наборе данных всего пять таблиц, вполне можно обойтись описанным выше функционалом. Если же ваши таблицы разделены, например, по дням, то таких таблиц у вас со временем будет сотни, а через пару лет — тысячи. И каждый раз перечислять их через запятую вручную будет уже не так просто. Функции подстановки таблиц (Table wildcard functions) работают по такому же принципу. Используя их, достаточно обозначить диапазон таблиц вместо перечисления всех таблиц через запятую. Рассмотрим три доступные в Google BigQuery функции подстановки таблиц с примерами их использования.

1. Функция TABLE_DATE_RANGE (префикс, начальная дата, конечная дата)

Функция дает возможность обратиться к ряду таблиц, разделенных по дням, задав диапазон дат. Для названия таблицы, в которой описывается, как использовать данную функцию, нужно использовать формат префикс/дата, при этом дата должна быть записана в формате ГГГГММДД. При определении начальной и конечной даты вы можете использовать функции даты и времени, например:

TIMESTAMP(\\\'2012-10-01 02:03:04\\\')DATE_ADD(CURRENT_TIMESTAMP(), -7, \\\'DAY\\\')

;Предположим, что в нашем наборе данных есть три таблицы:

  • mydata.people20140325;
  • mydata.people20140326;
  • mydata.people20140327.

Для того, чтобы запрос обратился ко всем трем таблицам, необходимо в качестве начальной даты указать TIMESTAMP(\\\'2014-03-25\\\'), а в качестве финальной — TIMESTAMP(\\\'2014-03-27\\\'). Запрос:

SELECTnameFROMTABLE_DATE_RANGE(mydata.people,TIMESTAMP(\\\'2014-03-25\\\'),TIMESTAMP(\\\'2014-03-27\\\'))WHEREage >= 35

;Таким образом, в качестве префикса мы указали mydata.people, в качестве начальной даты 2014-03-25, а в качестве конечной — 2014-03-27. Пример обращения к таблицам за 2 предыдущих дня. Предположим, что в проекте myproject-1234 есть следующие таблицы:

  • mydata.people20140323;
  • mydata.people20140324;
  • mydata.people20140325.

Предположим, что сегодня 25 марта 2014 года. Запрос:

SELECTnameFROM(TABLE_DATE_RANGE([myproject-1234:mydata.people], DATE_ADD(CURRENT_TIMESTAMP(), -2, \\\'DAY\\\'), CURRENT_TIMESTAMP()))WHEREage >= 35

;В данном примере в качестве начальной даты мы использовали функцию DATE_ADD и указали в качестве точки отсчета текущее время, а также задали параметр отставания в 2 дня. В качестве финальной даты мы указали функцию CURRENT_TIMESTAMP, которая возвращает текущую дату и время. Соответственно, финальной датой будет текущий день.

2. Функция TABLE_DATE_RANGE_STRICT (префикс, начальная дата, конечная дата)

Данная функция — эквивалент TABLE_DATE_RANGE, разница между ними в том, что если в списке таблиц, разбитых по дням, будет отсутствовать таблица хотя бы за одну дату из указанного диапазона, функция TABLE_DATE_RANGE_STRIC вернет ошибку, и сообщение «Таблица (имя таблицы) ошибка». Пример ситуации, в которой функция TABLE_DATE_RANGE_STRICT вернет ошибку (подразумевает наличие в вашем наборе данных следующих таблиц):

  • people20140325;
  • people20140327.

Запрос:

SELECTnameFROM(TABLE_DATE_RANGE_STRICT(people,TIMESTAMP(\\\'2014-03-25\\\'),TIMESTAMP(\\\'2014-03-27\\\')))WHERE age >= 35

;В качестве начальной даты мы задали 2014-03-25, в качестве финальной — 2014-03-25. Запрос в данном случае вернет ошибку «Не найдена таблица people20140326», поскольку ее нет в нашем наборе данных.

3. Функция TABLE_QUERY (набор данных, выражение)

С помощью данной функции вы можете обратиться к таблицам, названия которых соответствуют заданному выражению. Параметр «Выражение» обязательно должен быть в строчном виде. В качестве выражения можно использовать строчные функции, такие как CONTAINS или REGEXP_MATCH. Пример запроса, обращающегося к таблицам с названиями, содержащими «oo» и четыре и более символов (подразумевает присутствие в наборе таблиц со следующими названиями):

  • mydata.boo;
  • mydata.fork;
  • mydata.ooze;
  • mydata.spoon.

Запрос:

SELECTspeedFROM (TABLE_QUERY(mydata,\\\'table_id CONTAINS \"oo\" AND length(table_id) >= 4\\\'))

;Запрос обработает данные из таблиц mydata.ooze и mydata.spoon, так как именно эти две таблицы соответствуют заданному в функции TABLE_QUERY выражению. Пример обращения к таблицам с названиями, соответствующими определенному регулярному выражению. В данном случае название таблицы должно начинаться на «boo» и содержать 3-5 цифр:

  • mydata.book4;
  • mydata.book418;
  • mydata.boom12345;
  • mydata.boom123456789;
  • mydata.taboo999.

Запрос:

SELECTspeedFROMTABLE_QUERY([myproject-1234:mydata],\\\'REGEXP_MATCH(table_id, r\"^boo[d]{3,5}\")\\\')

;Поскольку названия этих таблиц соответствуют регулярному выражению, которое мы использовали в запросе «^boo[\d]{3,5}», будут обpaбатываться данные из таблиц:

  • mydata.book418;
  • mydata.boom12345.

Как видите, обpaбатывать данные с помощью функций подстановки таблиц в Google BigQuery значительно более удобно, чем в классическом SQL. Пользуйтесь с удовольствием.



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

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

Сервис оплаты частями уменьшает количество брошенных корзин в интернет-магазине Благодаря сервисам оплаты частями у покупателей появляется возможность покупать товары и услуги по выгодным ценам. А у бизнеса — увеличивать объем продаж....

26 04 2024 9:18:35

Продвинутые способы аналитики кампаний на Facebook — Инспектор и внутренние диаграммы

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

25 04 2024 17:58:56

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов Как правильно группировать ключевые фразы для релевантности рекламных кампаний...

24 04 2024 2:20:42

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

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

23 04 2024 8:44:56

Алгоритмы Инстаграм 2021 — как работает ранжирование в ленте, сториз, Explore, Reels

Алгоритмы Инстаграм 2021 — как работает ранжирование в ленте, сториз, Explore, Reels Как посты и ролики Reels становятся первыми в ленте, сториз, попадают в рекомендации. Instagram впервые напрямую рассказали о том, как оценивают контент....

22 04 2024 8:23:43

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

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

21 04 2024 11:39:31

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

Сколько стоил клик Google Ads и Facebook в Украине в первом квартале 2018 года Данные по 33,5 миллионов кликов в 26 тематиках и 394 городах...

20 04 2024 19:20:31

Как проанализировать эффективность страницы бренда в Facebook

Как проанализировать эффективность страницы бренда в Facebook Бренду нужно зайти на Фейсбук? Несколько очень полезных советов об измерении эффективности SMM....

19 04 2024 19:16:51

LSI-текст или SEO-текст — выживет только один

LSI-текст или SEO-текст — выживет только один Специалисты, занимающиеся seo копирайтингом, рассказывают об использовании LSI: определение текста, кол во символов, подсчет слов онлайн...

18 04 2024 23:53:47

Google Penguin: как защитить свои позиции в выдаче

Google Penguin: как защитить свои позиции в выдаче Google Penguin официально стал частью основного алгоритма поисковика. Как обезопасить свой бизнес и встретить апдейт алгоритма Google во всеоружии? О трафике, анкорах, бэклинках, ссылках и ссылочной массе, трастовости и постоянном мониторинге, с комментариями специалистов...

17 04 2024 4:37:23

Поведенческая экономика и три принципа мотивации человека

Поведенческая экономика и три принципа мотивации человека Как правильно мотивировать и демотивировать себя — теория и кейсы. Как бросить курить, начать бегать и наконец-то приступить к изучению английского. Читать!...

16 04 2024 18:37:15

Вакцинация от Covid-19 в Украине: как организовать для сотрудников офиса

Вакцинация от Covid-19 в Украине: как организовать для сотрудников офиса Оставить заявку на горячей линии МОЗ — это только вершина айсберга. Необходимо провести опрос среди сотрудников компании. И не один. А ещё подготовить несколько помещений для вакцинации и отдыха. Узнать больше!...

15 04 2024 23:43:54

Как создать рассылку push-уведомлений. Чек-лист эффективной рассылки от Notix

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

14 04 2024 17:46:10

Как связать Twitter, Google Buzz, Facebook и Vkontakte.ru

Как связать Twitter, Google Buzz, Facebook и Vkontakte.ru Как сделать так, чтобы статусы автоматически трaнcлировались в Twitter...

13 04 2024 9:40:30

Кейсы: как отзывы о товарах увеличили конверсию интернет-магазина на 14% и трафик на 200%

Кейсы: как отзывы о товарах увеличили конверсию интернет-магазина на 14% и трафик на 200% Наличие или отсутствие в карточках отзывов о товарах интернет магазина сказывается на продажах, а также оказывает влияние на SEO. Об этом, а также о пользе автоматизированного сбора отзывов о товарах мы расскажем в этой статье....

12 04 2024 10:14:42

Рэнд Фишкин: о трендах SEO и работе волшебника страны Moz

Рэнд Фишкин: о трендах SEO и работе волшебника страны Moz Экс-CEO, а теперь просто сотрудник и «волшебник страны Moz» Рэнд Фишкин поделился с читателями блога рассказом о своем видении будущего SEO, перспективах анонимизации сети и причудах американских клиентов....

11 04 2024 15:25:17

Как разработать графический интерфейс для скриптов R

Как упростить работу со скриптами на языке R? Программирование удобного интерфейса с помощью пакета «gWidgets»...

10 04 2024 8:20:14

Фидбек от покупателей: о чем, зачем и как спрашивать

Фидбек от покупателей: о чем, зачем и как спрашивать Что такое обратная связь, почему фидбек от клиентов важен и как его правильно собирать. Все, что нужно знать, чтобы получить отзыв от клиента....

09 04 2024 21:35:34

Продвижение с помощью сетки сайтов — как строить PBN

Продвижение с помощью сетки сайтов — как строить PBN PBN (Private Blog Network) — приватная/частная сеть блогов, сайты-сателлиты, сетки сайтов. Строить их долго, дорого, но это работает....

08 04 2024 13:12:34

10 шагов к статистике на блюдечке. Инструкция по настройке «Подсказок» в Google ***ytics 4

10 шагов к статистике на блюдечке. Инструкция по настройке «Подсказок» в Google ***ytics 4 Как с помощью GA4 анализировать рекламные кампании, лежа на диване...

07 04 2024 23:31:14

Ян Чихольд: «Неправда, что о вкусах не спорят, если речь идет о хорошем вкусе»

Ян Чихольд: «Неправда, что о вкусах не спорят, если речь идет о хорошем вкусе» Образ гармонии, почерк и потребности — рецензия на книгу Яна Чихольда «Облик книги»....

06 04 2024 22:23:39

Как найти партнера среди подрядчиков — советы предпринимателям

Как найти партнера среди подрядчиков — советы предпринимателям Опрос экспертов. Как правильно искать подрядчиков, которые станут партнерами для вашего бизнеса? Как долго работать с партнерами и не испортить отношения? На что обращать внимание в первую очередь, а на что можно закрыть глаза?...

05 04 2024 23:23:41

Как настроить божественные списки ремаркетинга с помощью GTM

Как настроить божественные списки ремаркетинга с помощью GTM Несколько фишек Google Tag Manager, чтобы сделать продвинутые списки ремаркетинга....

04 04 2024 9:20:30

Кейс по продвижению женской одежды в Яндекс.Директе: ROMI 186%

Кейс по продвижению женской одежды в Яндекс.Директе: ROMI 186% Используя для продвижения контекстную рекламу, большинство рекламодателей в Украине отдают предпочтение системе Google Ads. Директ однозначно не стоит недооценивать. Почему? Читайте в статье!...

03 04 2024 2:48:43

Как увеличить базу подписчиков на 100% за год — кейс domcomfort.ua

Как увеличить базу подписчиков на 100% за год — кейс domcomfort.ua Почти 50 тыс. контактов за год принесли формы подписки и регистрации....

02 04 2024 1:46:34

Почему не получается запустить товарные объявления

Разбор типичных ошибок в рекламе Google Shopping как обязательного инструмента рекламы в Google. О минус-словах, геолокации, структуре сайта и обновлении объявлений. Что именно важно? Читайте дальше!...

01 04 2024 18:29:54

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

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

31 03 2024 8:19:29

Кейс по SMM в тематике «алкогольные напитки»: «Пригласи 10 друзей — получи бутылку шампанского»

Кейс по SMM в тематике «алкогольные напитки»: «Пригласи 10 друзей — получи бутылку шампанского» Оживший бар. О том, как один украинский бренд за полтора месяца получил более 4 000 фанов!...

30 03 2024 15:32:22

Продвижение Telegram-канала с помощью агентства Netpeak: чтоооооо???

Продвижение Telegram-канала с помощью агентства Netpeak: чтоооооо??? Новая услуга для бизнесов, которым большое количество подписчиков не приносит продаж...

29 03 2024 9:29:39

Кейс Taketones: как за год увеличить трафик в 10 раз

Кейс Taketones: как за год увеличить трафик в 10 раз Продвижение музыкальной библиотеки. Со старта сотрудничества, трафик и основной ключ сайта клиента вырос в 10 раз. Регион продвижения — США....

28 03 2024 23:14:34

Генерируем прорывные идеи по Люку Уильямсу

Генерируем прорывные идеи по Люку Уильямсу Важно иметь прорывное мышление — о таком подходе к бизнесу написана книга Люка Уильмса «Переворот»....

27 03 2024 19:36:50

Как вывести коммерческую страницу и домен из бана Facebook

Кейс SMM-специалиста Edu-CASH.com о том, что делать, если Facebook страница заблокирована. И почему могут забанить аккаунт даже популярного бренда. Узнайте в статье!...

26 03 2024 6:32:13

Как работают смарт-баннеры в Яндекс.Директ — кейс интернет-магазина товаров для сада и огорода

Как работают смарт-баннеры в Яндекс.Директ — кейс интернет-магазина товаров для сада и огорода Решили написать про новый формат рекламы — баннерный...

25 03 2024 13:55:58

Офлайн — новый онлайн? Зачем онлайн-бизнес открывает торговые точки

Офлайн — новый онлайн? Зачем онлайн-бизнес открывает торговые точки Как бизнес подстраивается под новые привычки покупателей в стиле фиджитал и O2O2O....

24 03 2024 1:22:56

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

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

23 03 2024 3:51:34

Малкольм Гладуэлл о гениях и аутсайдерах

Малкольм Гладуэлл о гениях и аутсайдерах Миллионы решили купить книгу гении и аутсайдеры на Amazon: удивительное исследование канадского журналиста...

22 03 2024 2:42:44

Артем Борисов из Яндекс.Казахстан: казахстанцам нужен качественный контент на родном языке

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

21 03 2024 13:47:24

Как создать чат-бот для Telegram-канала — инструкция для администраторов

Как создать чат-бот для Telegram-канала — инструкция для администраторов Как с помощью ботов ControllerBot и BotFather упростить управление каналами и разнообразить контент....

20 03 2024 10:30:35

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

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

19 03 2024 14:10:31

40+ сервисов для работы с текстом — для копирайтеров, редакторов и других создателей контента

40+ сервисов для работы с текстом — для копирайтеров, редакторов и других создателей контента Подборка онлайн-платформ и программ для работы с текстом и изображениями....

18 03 2024 15:24:26

Netpeak Group купила конференцию eCommerce от OWOX

Конференцию eCommerce будет развивать комaнда Octopus Events...

17 03 2024 18:15:48

Как активизировать подписчиков по Франку Керну

Как активизировать подписчиков по Франку Керну Как превратить неактивных подписчиков в вовлеченную аудиторию....

16 03 2024 23:51:29

Как работой гореть, но не сгорать — личный опыт

Как работой гореть, но не сгорать — личный опыт Первая реакция на перегорание — послать все к чертям собачьим. Очень заманчиво, но правильно ли убегать от всех проблем?...

15 03 2024 15:50:39

Топ ошибок новичков в Google Рекламе

Топ ошибок новичков в Google Рекламе Топ-8 ошибок новичков в Google Рекламе: как сэкономить деньги при планировании рекламной кампании....

14 03 2024 18:24:29

40 шагов к идеальному сниппету — детальный чек-лист

40 шагов к идеальному сниппету — детальный чек-лист Как оптимизировать и выжать максимум пользы из сниппетов сайта в выдаче Google и Яндекс...

13 03 2024 11:56:14

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

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

12 03 2024 4:11:19

Как работать с Яндекс.Вебвизор 2.0

Как работать с Яндекс.Вебвизор 2.0 Бета-версия помогает записывать действия пользователей на сайте и благодаря этому улучшать удобство использования сайта и в перспективе растить продажи. Узнать больше!...

11 03 2024 8:15:15

7 частых и неочевидных ошибок интернет-магазинов

7 частых и неочевидных ошибок интернет-магазинов Расскажем про ошибки интернет-магазинов, которые трудно найти соответствующими программами и сервисами проверки...

10 03 2024 16:18:14

Семь улучшений Netpeak: услуга SMM, продвижение в Telegram, Big Data SEO и продвижение мобильных приложений

Шесть новых услуг. Читайте подробнее о возможностях PBN, Big Data SEO, продвижения в Телеграм и мобильных приложений, исследований рынка, SMM для вашего бизнеса. А также хорошая новость и ещё одна услуга для тех, кому нжно комплексное мобильное продвижение...

09 03 2024 2:34:31

Как удалить себя из социальных сетей

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

08 03 2024 11:18:59

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