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



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

11 пpaктически применимых фишек по SEO и арбитражу трафика — итоги круглого стола 8P 2019

11 пpaктически применимых фишек по SEO и арбитражу трафика — итоги круглого стола 8P 2019 Панельная дискуссия, на которой специалисты представляют нестандартные идеи для привлечения трафика, продвижения проектов. Всё, что можно применить на деле. Читать!...

01 04 2026 6:15:27

Система Планфикс — SaaS-система управления проектами

Система Планфикс — SaaS-система управления проектами Ситема управления проектами, которой пользуются в Netpeak....

31 03 2026 8:38:12

8 секретов крутых заголовков для 1000 репостов в соцсетях

8 секретов крутых заголовков для 1000 репостов в соцсетях Придумать цепляющие заголовки для 1000 репостов в соцсетях — что можно узнать в результате анализа миллиона заголовков в блогах....

30 03 2026 0:53:38

Как METRO отказалась от печатных каталогов

Как METRO отказалась от печатных каталогов Как METRO Cash & Carry Украина нашла индивидуальный подход к 1 000 000 клиентов....

29 03 2026 17:46:29

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

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

28 03 2026 12:33:17

«Демография» и «Технология». Сравнение отчетов в GA4 и Google Universal ***ytics

Решили перейти на Google ***ytics 4? Предлагаем разобраться, чем отличается инструмент от предыдущей версии и изучить новинки в отчетах «Демография» и «Технология»....

27 03 2026 8:29:21

Массовые изменения в Google Ads Editor

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

26 03 2026 7:16:45

50 самых ужасных сайтов

Лихие девяностые и самые ужасные сайты интернета: образцы, примеры, оформление....

25 03 2026 14:47:13

Что такое Дія City и почему компании поддерживают проект?

Что такое Дія City и почему компании поддерживают проект? Основные законы приняты. Что это значит?...

24 03 2026 23:15:35

Как составить поисковые объявления для Google Ads и Яндекс.Директ

Как составить поисковые объявления для Google Ads и Яндекс.Директ Правила, требования, особенности. А ещё примеры, которые помогут создать правильную, с точки зрения поисковиков, рекламу. Читать!...

23 03 2026 15:56:21

Как продвигать мобильное приложение с ограниченным бюджетом? Руководство для новичков

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

22 03 2026 6:18:22

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

Что такое контекстная реклама? Словарь терминов для чайников...

21 03 2026 22:59:36

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

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

20 03 2026 17:41:46

Как ускорить сайт с помощью сервиса CDN — краш-тест Айри

Как ускорить сайт с помощью сервиса CDN — краш-тест Айри Как трафик CDN повлиял на систему интернет-магазина — палим кейсы...

19 03 2026 14:56:36

Что выбрать: страницу или группу на Facebook?

Что выбрать: страницу или группу на Facebook? Сегодня стоит озвучить особенности страниц и групп в социальной сети Фейсбук...

18 03 2026 9:54:15

Что такое показатель отказов и как его снизить

Что такое показатель отказов и как его снизить Влияет ли значение показателя отказов на ранжирование сайта в поисковых системах и стоит ли переживать из-за высоких показателей отказов? Узнать больше....

17 03 2026 13:18:18

Импорт данных из Google ***ytics в Excel с помощью ***ytics Edge — подробное руководство

Импорт из Google ***ytics в Excel — manual по ***ytics Edge....

16 03 2026 12:54:27

SEO-продвижение для службы доставки еды в Украине — рост бесплатного трафика на 477%

SEO-продвижение для службы доставки еды в Украине — рост бесплатного трафика на 477% Кейс продвижения Pizza House — ROMI 709,9%. От старта с дублями страниц и постановки целей и задач продвижения, проведения технического аудита, аналитики, анализа поисковых фраз, выбора контента до экспериментов с метатегами, увеличения среднего чека и планов на будущее...

15 03 2026 12:29:13

Увеличиваем органический трафик — дооптимизация страниц сайта

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

14 03 2026 19:56:33

Кейс по продвижению интернет-магазина медицинских товаров: ROMI 32%

Кейс по продвижению интернет-магазина медицинских товаров: ROMI 32% Продвигаем медицинский проект. Кроме цифр рассказываем, что и как делали...

13 03 2026 6:21:45

34 факта об использовании нами гаджетов. Исследование Google

34 факта об использовании нами гаджетов. Исследование Google Пришло такое время — обновить данные, тем более что в начале сентября появилось исследование Google....

12 03 2026 18:26:57

Как оценить новый канал трафика?

Как оценить новый канал трафика? Эффективен ли ваш канал привлечения трафика? Лучше писать об этом с помощью формул...

11 03 2026 1:46:48

Отчеты Google ***ytics — подробное руководство с объяснениями

Отчеты Google ***ytics — подробное руководство с объяснениями То, чего нет в справке — подробный обзор отчетов Google ***ytics: в режиме реального времени, по аудитории, источникам трафика, поведению, конверсии. Узнать больше!...

10 03 2026 7:11:44

7 возможностей Serpstat, о которых вы наверняка не знали

7 возможностей Serpstat, о которых вы наверняка не знали Посмотреть релевантность сайта для победы над конкурентами. Как использовать Serpstat....

09 03 2026 12:54:20

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

Сколько стоил клик в Google Ads и Facebook в Украине во втором квартале 2019 года Данные по 24 миллионам кликов в 24 тематиках и 391 городу...

08 03 2026 13:14:30

Что такое вечные ссылки и как продвигать сайт с их помощью

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

07 03 2026 9:27:37

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

Как настроить ретаргетинг в Яндекс.Директ — подробное руководство для новичков Как установить счетчик Метрики, грамотно настроить цели, сегменты и запустить рекламную кампанию по ретаргетингу в Яндекс.Директ...

06 03 2026 14:44:38

14 неочевидных и пpaктически применимых фишек — круглый стол 8P 2020

Лучшие фишки от спикеров конференции 8P 2020. В конце каждой конференции спикеры 8P собираются за круглым столом, чтобы поделиться пpaктически применимыми советами, которые можно внедрить в свой проект и сразу почувствовать отдачу...

05 03 2026 12:23:16

Результаты тестирования похожих аудиторий в торговых кампаниях (Google Shopping)

Результаты тестирования похожих аудиторий в торговых кампаниях (Google Shopping) Обновление от Google: похожие аудитории можно использовать не только для медийных, но и для поисковых и торговых кампаний...

04 03 2026 22:52:48

Facebook Like или Share?

Facebook Like или Share? Facebook buttons. Пора поделиться самым волнующим вопросом 2011-го года...

03 03 2026 10:58:45

Как Netpeak продвигает бизнес-страницы на OLX — первая часть

Как Netpeak продвигает бизнес-страницы на OLX — первая часть Как найти продавцов для маркетплейса с помощью рекламы в Google, Facebook, TikTok и Viber....

02 03 2026 4:11:24

Миллион сеансов в месяц на AMP-страницы в E-commerce

Миллион сеансов в месяц на AMP-страницы в E-commerce Как Bigl.ua внедрили AMP и остались очень довольны результатом....

01 03 2026 12:32:39

Какие форматы объявлений в Яндекс.Директ самые эффективные

Какие форматы объявлений в Яндекс.Директ самые эффективные Стандартный образец для новичков. Форматы объявлений в РСЯ, чтобы начинающие специалисты по контекстной рекламе смогли быстро и эффективно запустить рекламные кампании. Интересно? Читайте дальше!...

28 02 2026 20:16:59

Как отфильтровать внутренний трафик в Google ***ytics

Как отфильтровать внутренний трафик в Google ***ytics Фильтруем свой трафик от сотрудников в Google ***ytics...

27 02 2026 5:46:44

Как получить 184% прироста трафика и увеличить долю поискового трафика в три раза в gaming-тематике — кейс Wowcarry

Как получить 184% прироста трафика и увеличить долю поискового трафика в три раза в gaming-тематике — кейс Wowcarry Доля органического трафика увеличилась с 14% до 44%, а небрендового — на 184%....

26 02 2026 20:24:17

Как быстро найти ошибки SEO-оптимизации с помощью Netpeak Spider

Как быстро найти ошибки SEO-оптимизации с помощью Netpeak Spider Сохраняем время и ресурсы для проверки типичных задач и тратим его на реализацию креативных идей по оптимизации сайта....

25 02 2026 5:15:27

Лучшие примеры ошибки 404

Лучшие примеры ошибки 404 Ошибка на странице 404 может выглядеть креативно. Страница не найдена и не может быть найдена, потому что она в розыске, утеряна, украдена ниндзей, путь заснежен и дороги дальше нет, а принцесса находится в другом замке. О чем это?...

24 02 2026 5:54:22

Эффективна ли стратегия «Целевая цена за конверсию»? Исследование Netpeak

Эффективна ли стратегия «Целевая цена за конверсию»? Исследование Netpeak Стоит ли подключать автоматические стратегии управления ставками? Мы проверили, как работает «Целевая цена за конверсию» в разных тематиках....

23 02 2026 22:57:28

Девять фишек для онлайн-бизнеса: итоги круглого стола Netpeak Friends Day в Казахстане

Девять фишек для онлайн-бизнеса: итоги круглого стола Netpeak Friends Day в Казахстане Девять свежих советов для продвижения интернет-магазинов...

22 02 2026 10:34:41

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

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

21 02 2026 14:54:23

Как мы сделали инструмент веб-аналитики для сайта Ecommerce

Как мы сделали инструмент веб-аналитики для сайта Ecommerce Зачем амбициозным онлайн-проектам индивидуальные инструменты веб-аналитики....

20 02 2026 12:48:55

Как обойти блокировку API запрещенных сервисов с помощью скриптов R

Как обойти блокировку API запрещенных сервисов с помощью скриптов R Как отключить блокировку API запрещенных сервисов в скриптах R и продолжать использовать пакеты ryandexdirect, rvkstat, rmytarget, Google Sheets и BigQuery...

19 02 2026 4:21:29

Кейс: зачем сегментировать аудиторию перед запуском ремаркетинга

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

18 02 2026 19:18:50

Правила преобразования фидов в Google Merchant Center

Правила преобразования фидов в Google Merchant Center Правила преобразования фидов в Google Merchant Center помогут сегментировать товары и сделать вашу рекламу более эффективной...

17 02 2026 23:41:24

Как нанять маркетолога и не уволить через месяц

Как нанять маркетолога и не уволить через месяц Краткая инструкция по поиску идеального кандидата, потому что (как видим) многим на рынке все еще сложно найти хорошего маркетолога. Да и понять, стоит ли вкладывать в сотрудника силы, время, средства с первой встречи достаточно сложно....

16 02 2026 2:45:44

Продвижение сайта VIN-кодов в США по низкочастотным запросам: рост трафика на 681% за 6 месяцев

Продвижение сайта VIN-кодов в США по низкочастотным запросам: рост трафика на 681% за 6 месяцев Кейс SEO-продвижения в США: рост трафика сайта с помощью низкочастотных запросов....

15 02 2026 18:38:51

Топ-25 телеграм-каналов о веб-дизайне, на которые стоит подписаться

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

14 02 2026 10:31:58

Репутация за деньги: откровения скупщика фейковых фолловеров

Раньше покупка фолловеров, лайков, репостов строго осуждалась. Сегодня это обычное дело. Всё больше сервисов предлагают по приемлемой цене купить репутацию в соцсетях: от лайков в Instagram до фолловеров в твиттере. Покупка фолловеров аукнется мне в будущ...

13 02 2026 16:52:24

Serpstat 2.0: как внутренняя разработка выросла в All-in-One SEO Platform

Serpstat 2.0: как внутренняя разработка выросла в All-in-One SEO Platform Короткая история Serpstat — от сервиса «для своих» до международной SEO-платформы....

12 02 2026 5:57:33

Небольшие IT компании

Небольшие IT компании Любопытная подборка "маленьких" гигантов: компании и сервисы, чья аудитория превышает 10 миллионов пользователей, а также несколько интересных фактов о каждом из них. Узнать больше!...

11 02 2026 21:19:29

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