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. Пользуйтесь с удовольствием.



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

Как настроить ретаргетинг для рекламы в Instagram и Facebook

Как настроить ретаргетинг для рекламы в Instagram и Facebook Понятная инструкция для SMM-специалистов для тех, кто экспериментирует с настройками аудиторий в рекламных кампаниях. Вы увидите, как настраивать ремаркетинг на примере Facebook. Существует 10 типов индивидуализированных аудиторий в Facebook, разберем три...

01 06 2026 2:59:42

Эффективная работа с микроблогом Twitter: планирование твитов по времени

Эффективная работа с микроблогом Twitter: планирование твитов по времени Твиттереть нужно правильно. Интересная аналитики и планирование твитов по времени...

31 05 2026 7:50:20

Какие виды гeймификации можно использовать в рассылках

Какие виды гeймификации можно использовать в рассылках Игровой формат отлично работает в email-рассылке. Но какой вид гeймификации интересен любой целевой аудитории? Давайте рассмотрим примеры....

30 05 2026 22:46:11

Платиновые правила продающего видеоконтента на YouTube

Платиновые правила продающего видеоконтента на YouTube Каким правилам нужно следовать, чтобы создать эффективный рекламный ролик?...

29 05 2026 1:17:41

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

Корпоративный университет — что это и как его используют в компаниях ПриватБанк, АТБ и ДТЭК — эти бренды уже создали свои образовательные центры. Узнайте больше о том, как компании обучают своих сотрудников у нас и за рубежом. Читать дальше!...

28 05 2026 4:27:53

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

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

27 05 2026 13:23:54

Как новостная лента Facebook предсказывает то, что вы хотите увидеть?

Как новостная лента Facebook предсказывает то, что вы хотите увидеть? Facebook раскрывает алгоритм формирования новостной ленты...

26 05 2026 20:37:20

Netpeak Agency SEO Tool: обзор и фишки для специалистов

Netpeak Agency SEO Tool: обзор и фишки для специалистов Как расширение от Netpeak может облегчить работу над важными SEO-задачами....

25 05 2026 13:30:23

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

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

24 05 2026 0:25:41

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

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

23 05 2026 5:33:15

Блокчейн, революция контент-маркетинга и cмepть автора

Блокчейн, революция контент-маркетинга и cмepть автора Контент-революция: искусственный интеллект для уникальных текстов с достоверной информацией и контент-платформы на блокчейне для сохранения авторского права. Читайте больше в статье!...

22 05 2026 2:23:33

Как повысить органический трафик на 124% при полумиллионой аудитории — кейс тендерной площадки SmartTender

Как повысить органический трафик на 124% при полумиллионой аудитории — кейс тендерной площадки SmartTender Рассказываем, как комaнда Netpeak работала над ростом органики и повышением видимости приоритетных страниц сайта по релевантной семантике....

21 05 2026 18:50:59

Что такое tone of voice и как использовать голос бренда в соцсетях

То, как мы разговариваем, важно не только в жизни, но и в соцсетях. Зачем нужен tone of voice и как сделать, чтобы ваш голос отличался от других и был эффективен? Читайте наш гайд....

20 05 2026 8:28:25

Путь магазина «Модна Каста» от Андрея Логвина

CEO магазина «Модна Каста» Андрей Логвин — сделал отличный доклад на 8P о пути к успеху своего бизнеса и будущем Ecommerce. Детальнее об ощущении deal и «первом дне» для интернета читайте в новом посте....

19 05 2026 17:27:30

Как настроить счетчик Яндекс.Метрики

Как настроить счетчик Яндекс.Метрики Счетчик Яндекс.Метрики: создание и установка кода, важные настройки....

18 05 2026 11:52:44

Раскрыт секрет гарантированного роста трафика из поиска, или Серебряная пуля SEO

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

17 05 2026 18:56:44

Как защитить аккаунт в Instagram от взлома

Безопасность Instagram — что делать, если заметили попытку взломщиков украсть аккаунт, и как вернуть аккаунт после взлома....

16 05 2026 10:57:16

SEO-среда: Основные инструменты веб-мастера

SEO-среда: Основные инструменты веб-мастера Пройдем вместе путь вебмастера от первых шагов и до вершины ТОПа :)...

15 05 2026 8:25:47

Почему мертвецы ставят «лайки» в Facebook?

Почему мертвецы ставят «лайки» в Facebook? Темная сторона лайков или правда о продвижении постов в Facebook...

14 05 2026 1:47:52

Денис Довгаль — интервью о видеоконтенте и удаленке до пандемии

Денис Довгаль — интервью о видеоконтенте и удаленке до пандемии Создатель студии рисованных видео Денис Довгаль — о тактике видеомаркетинга и жизни в стиле «цифровых кочевников»....

13 05 2026 8:38:51

Демографический таргетинг в Google Ads

Демографический таргетинг в Google Ads Отныне мы можем настраивать показы рекламы на мужчин и женщин определенной возрастной группы....

12 05 2026 18:22:14

Списки в Twitter: зачем составлять и как вынести пользу

Списки в Twitter: зачем составлять и как вынести пользу В Twitter удобно собрать список потенциальных клиентов, чтобы время от времени посматривать за их новостями...

11 05 2026 17:51:20

Анализ контента в социальных сетях: цифры, цифры и еще раз цифры

Анализ контента в социальных сетях: цифры, цифры и еще раз цифры Что нам дают знания о статистике контента в социальных сетях и какими сервисами анализировать данные...

10 05 2026 4:18:47

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

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

09 05 2026 8:23:19

Запорожский козак на динозавре, реклама наркотиков в Instagram и «курка» вместо SPAM — мартовская реклама в соцсетях

Запорожский козак на динозавре, реклама наркотиков в Instagram и «курка» вместо SPAM — мартовская реклама в соцсетях Чем радовала, смущала и шокировала реклама в социальных сетях в марте 2021-го...

08 05 2026 12:56:25

Как уволить человека?

Как уволить человека? Увольнять сотрудника — это неприятно и порой сложно. Прежде надо убедиться, что такой шаг оправдан, но он же потребует от руководителя понимания, как действовать в подобной ситуации. На этом и остановимся...

07 05 2026 9:38:57

Три уровня оптимизации рекламной кампании в Google Ads

Предположим, что оптимизация в аккаунте похожа на реальный мир и рассмотрим несколько примеров :)...

06 05 2026 21:18:50

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

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

05 05 2026 21:20:41

Как создать рекламную видеозаставку с помощью Bumper Machine

Как создать рекламную видеозаставку с помощью Bumper Machine Создание даже короткого ролика может стоить дорого. Поэтому можно использовать бесплатный инструмент Bumper Machine от Google....

04 05 2026 0:20:45

Как создать гибкий шаблон для наглядной статистики и автоматизировать отчетность для всех участников проекта

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

03 05 2026 20:37:35

Как перестать суетиться и начать контролировать свою продуктивность

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

02 05 2026 18:27:47

20 фактов о развитии мобильных приложений — инфографика

20 фактов о развитии мобильных приложений — инфографика Рынок мобильных приложений и его глобальные тренды из исследования App Annie...

01 05 2026 9:51:34

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

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

30 04 2026 14:31:28

Кейс по продвижению интернет-магазина женской одежды

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

29 04 2026 19:28:43

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

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

28 04 2026 14:24:38

Как компании контролируют сотрудников в соцсетях. Три кейса

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

27 04 2026 16:44:48

Как украинские компании креативят к Черной пятнице. Примеры

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

26 04 2026 7:51:11

Techtober: что показали Apple, Google и Samsung.

Techtober: что показали Apple, Google и Samsung. Apple, Google и Samsung — давайте вспомним новинки месяца....

25 04 2026 13:50:50

Как получить ещё больше от рекламы в Facebook: семь новых фишек

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

24 04 2026 9:32:27

Как создать объявление в поиске картинок Google

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

23 04 2026 14:37:15

Микроразметка: что нужно знать SEO-специалисту о словарях и синтаксисе

Микроразметка: что нужно знать SEO-специалисту о словарях и синтаксисе Проверка структурированных данных поисковыми роботами нуждается в нашей поддержке...

22 04 2026 14:16:37

Контекстная реклама и поисковое продвижение: мощное комбо

Контекстная реклама и поисковое продвижение: мощное комбо Чтобы прекратить споры о том, с какого конца разбивать яйцо, я собрал аргументы за союз SEO и PPC...

21 04 2026 20:42:38

Как работает баннерная реклама — объясняем на примере кейса

Как работает баннерная реклама — объясняем на примере кейса О феномене Баадера-Майнхофа — как на самом деле работают системы баннерной рекламы в интернете...

20 04 2026 18:17:10

Как стать менеджером проектов в Netpeak

Программа знаний и умений, чтобы стать Project Manager в агентстве интернет-маркетинга...

19 04 2026 16:45:22

Как добавить время работы в объявления Google Ads

Как добавить время работы в объявления Google Ads Google внедрил новую возможность выделить объявление — автоматическое добавление часов работы. Давайте разберемся, как добавить эту полезную информацию в расширения объявлений...

18 04 2026 10:43:13

Почему мы играем или не играем в игры

Почему мы играем или не играем в игры Николь Лаззаро из XEODesign провела исследование о том, почему мы играем или не играем в игры....

17 04 2026 12:30:27

Анна Романишина о школе английского, тайм-менеджменте и продвижении

Анна Романишина о школе английского, тайм-менеджменте и продвижении Интервью с основателем школы английского языка Progress...

16 04 2026 21:23:19

«Покажи свою работу»: рассказ сооснователя и управляющего партнера агентства Netpeak

«Покажи свою работу»: рассказ сооснователя и управляющего партнера агентства Netpeak Андрей Чумаченко про будни топ-менеджера, постановку, декомпозицию, помощь и контроль выполнения задач сотрудниками комaнд, которые входят в состав департамента маркетинга, а также о регулярных встречах и тонкостях работы. Узнать больше!...

15 04 2026 23:18:37

Как стать специалистом по контекстной рекламе

Как стать специалистом по контекстной рекламе Менеджер, маркетолог, дизайнер программист? Делимся секретами нетпик, каким должен быть специалист по рекламе...

14 04 2026 6:45:45

Девять месседжей клиенту от агентства интернет-маркетинга

Девять месседжей клиенту от агентства интернет-маркетинга Лучшие маркетинговые ориентиры тем, кто захочет познакомиться с SEO и контекстной рекламе...

13 04 2026 0:43:16

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