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



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

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

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

18 04 2026 2:29:12

Что вы можете сделать со своим пресс-релизом

Что вы можете сделать со своим пресс-релизом Написание и распространение пресс-релизов концептуально устарело. Как привлечь аудиторию читателей СМИ без них?...

17 04 2026 18:49:18

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

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

16 04 2026 4:38:11

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

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

15 04 2026 18:18:33

Как быстро и бесплатно импортировать в Google Таблицы статистику из Facebook

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

14 04 2026 13:41:18

Сколько стоил клик в Google Ads в 2016 году — данные по Болгарии, Казахстану, России, Украине

Сколько стоил клик в Google Ads в 2016 году — данные по Болгарии, Казахстану, России, Украине В течение 2016 года Алексей Селезнев собирал данные о стоимости клика в разрезе разных стран, регионов и тематик. Итоги исследования, тренды и прогнозы читайте в этой статье....

13 04 2026 6:56:43

От идеи роутера для цифровых кочевников до продаж на Amazon — история Nommi и фаундеров компании

От идеи роутера для цифровых кочевников до продаж на Amazon — история Nommi и фаундеров компании Nommi — сокращение от nomadic MiFi: роутер для современных цифровых кочевников...

12 04 2026 22:59:56

Рост небрендового трафика на 99% — кейс интернет-магазина Vodafone Retail Ukraine

Рост небрендового трафика на 99% — кейс интернет-магазина Vodafone Retail Ukraine За 10 месяцев сотрудничества увеличили небрендовый на 99%, а общий трафик — в два раза. Рассказываем не только о результатах, но и подходе создания реалистичного прогноза SEO-продвижения сайта. Читать дальше!...

11 04 2026 5:53:14

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

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

10 04 2026 21:58:37

Расширения объявлений Google Рекламы — краткий обзор

Расширения объявлений Google Рекламы — краткий обзор 11 типов расширений и результат их внедрения на примере запущенных рекламных кампаний...

09 04 2026 3:44:27

Бизнес и экология. В компании Herman Miller наняли на работу пчёл

Бизнес и экология. В компании Herman Miller наняли на работу пчёл Сортировка мусора, использование велосипедов вместо автомобилей, озеленение города... В Украине, как правило, так представляют экофрендли бизнес. Зарубежные компании идут дальше....

08 04 2026 10:26:58

Перенос сайта на новую CMS без потери позиций и трафика: как подготовить ТЗ программисту

Пошаговый чек-лист и описание действий SEO-специалиста на всех этапах переноса сайта на новую CMS....

07 04 2026 15:45:48

«Покажи свою работу»: Анастасия Здорикова, руководитель отдела маркетинга Netpeak Software

«Покажи свою работу»: Анастасия Здорикова, руководитель отдела маркетинга Netpeak Software Как научиться справляться со стрессом и находить в комaнду «тех самых» людей...

06 04 2026 17:16:57

Как настроить Google Shopping — руководство для новичков

Как настроить Google Shopping — руководство для новичков Как создать аккаунт в Google Merchant Center, загрузить и изменить фид с информацией о товарах, — делимся тонкостями настройки кампаний шопинга...

05 04 2026 8:20:32

Репутация в сети. Зачем она нужна молодой компании, и Как ее построить

Репутация в сети. Зачем она нужна молодой компании, и Как ее построить Узнать, как управлять репутацией в сети для молодой компании, можно в статье Netpeak Journal: что такое репутация, как формируется образ бренда и что нужно делать для получения положительных отзывов....

04 04 2026 6:38:37

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

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

03 04 2026 16:57:20

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

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

02 04 2026 15:31:53

Как увеличить коэффициент конверсии до 3,53% благодаря массовым рассылкам — кейс Artbooks

Как увеличить коэффициент конверсии до 3,53% благодаря массовым рассылкам — кейс Artbooks Мы запустили email с нуля и стали получать стабильный ежемecячный доход....

01 04 2026 2:41:40

Владимир Меркушев о фишках Казнета и рецепте успеха в сети

Об особенностях реализации интернет-проектов в Великобритании, России и Казахстане и фишках успешного ведения бизнеса онлайн мы побеседовали с Владимиром Меркушевым — руководителем интернет-проектов успешной казахстанской компании Kolesa.kz....

31 03 2026 20:16:22

О чем снять первое видео начинающему видеоблогеру

О чем снять первое видео начинающему видеоблогеру Для максимальной прибыли с YouTube-канала нужно выбрать одну из наиболее посещаемых ниш. Не всегда прибыльная тема соответствует личным предпочтениям владельца канала...

30 03 2026 20:16:50

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

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

29 03 2026 2:11:18

Кейс по таргетированной рекламе в тематике «одежда, обувь, аксессуары»: ROMI 348%

Кейс по таргетированной рекламе в тематике «одежда, обувь, аксессуары»: ROMI 348% Женский и мужской таргет отличаются друг от друга. Кейс магазина обуви, одежды и аксессуаров....

28 03 2026 22:57:45

Как настроить отправку уведомлений о состоянии бюджета аккаунтов Google Ads в Telegram и на почту

Как настроить отправку уведомлений о состоянии бюджета аккаунтов Google Ads в Telegram и на почту Пошагово подключаем скрипт проверки бюджета аккаунтов Google Ads. Скрипт отправляет уведомление на почту и в Telegram — это поможет вовремя пополнить счет. Узнать больше!...

27 03 2026 9:13:33

Расширения Chrome, которые помогут PPC-специалисту не сойти с ума

Расширения Chrome, которые помогут PPC-специалисту не сойти с ума Доступно объясняем, как пользоваться и не типичными для экспертов по контекстной рекламе программами. Например, созданными для разработчиков. Узнать больше!...

26 03 2026 0:31:20

Кейс по продвижению интернет-магазина отопительного оборудования: ROMI 86%

Кейс по продвижению интернет-магазина отопительного оборудования: ROMI 86% Через тернии к кейсу. SEO-продвижение интернет-магазина отопительного оборудования с оплатой за трафик...

25 03 2026 17:12:46

Посадочные страницы: инструкция по повышению эффективности

Статья Оливера Гарднера посвящена различным аспектам оптимизации посадочных страниц: дизайну, контексту, созданию кнопки действия...

24 03 2026 6:25:43

10 идей продвижения медицинских услуг — инсайты конференции MeDiConf

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

23 03 2026 1:22:47

Что такое релевантные страницы?

Что такое релевантные страницы? И как проверить релевантность на своем сайте. Если речь идет о страницах (сайтах), подразумевается соответствие контента запросу. Чем точнее страница отвечает на запрос, решает задачу пользователя, тем (при прочих равных) выше ее позиция в поисковой выдаче....

22 03 2026 7:38:58

Как быстро составить карту редиректов для дроп-домена

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

21 03 2026 1:44:17

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

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

20 03 2026 21:23:31

Как должна выглядеть форма онлайн-заказа — подробный чек-лист

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

19 03 2026 19:23:15

Линкбилдинг для элитной клиники в США: плюс 528% к количеству звонков за два года

Линкбилдинг для элитной клиники в США: плюс 528% к количеству звонков за два года Адаптивный линкбилдинг: будьте полезны людям, а не поисковикам....

18 03 2026 14:22:28

Как переселить стартап в Кpaков: советы от Ярослава Легенчука

Как переселить стартап в Кpaков: советы от Ярослава Легенчука Ярослав Легенчук поделился историей успешного «переезда» площадки IT-продукта из Рунета в страны ЕС...

17 03 2026 6:55:17

Кейс по SEO для тематики «осветительные приборы, мебель и декор», регион Болгария: рост органического трафика на 108,96%

Кейс по SEO для тематики «осветительные приборы, мебель и декор», регион Болгария: рост органического трафика на 108,96% Кейс по росту органического трафика на сайте интернет-магазина на платформе Summer Cart....

16 03 2026 21:15:19

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

О неправильных тpaктовках отчета по времени загрузки страниц сайта в ***ytics...

15 03 2026 23:10:22

Настройка динамического ремаркетинга в Google Ads — пошаговое руководство

Настройка динамического ремаркетинга в Google Ads — пошаговое руководство Динамический ремаркетинг: как вернуть посетителя на сайт и продать, когда человеку «надо ещё подумать»....

14 03 2026 21:23:40

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

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

13 03 2026 16:36:56

Как использовать регулярные выражения в Google ***ytics и Google Tag Manager

Как использовать регулярные выражения в Google ***ytics и Google Tag Manager Как поможет Regex Engines в работе с Google ***ytics и преимущества использования Regex в Диспетчере тегов Google. Узнать больше....

12 03 2026 20:34:20

Как создать виртуальный офис

Как создать виртуальный офис Опыт удаленки стартапа lemlist. Как сотрудники работали онлайн в доковидные времена и совмещали профессиональную деятельность с тимбилдингом. Читайте в коротком посте Владимира Поло, основателя AcademyOcean....

11 03 2026 21:40:33

Что такое SEO и зачем нужна поисковая оптимизация

Что такое SEO и зачем нужна поисковая оптимизация Основные этапы раскрутки сайта. Что такое и как работает поисковая оптимизация, ее виды, особенности, преимущества...

10 03 2026 22:46:19

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

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

09 03 2026 16:57:44

Как вести Instagram в B2B во время локдayна — кейс агентства Netpeak

Как вести Instagram в B2B во время локдayна — кейс агентства Netpeak SMM для агентства перформанс-маркетинга. Как уйти от сухих текстов и стандартных баннеров для бизнес-страницы....

08 03 2026 6:29:42

Как построить диаграмму и не облажаться

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

07 03 2026 18:27:54

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

Какие данные о пользователях можно собирать сайтам, а какие — нет General Data Protection Regulation (GDPR): ответы на вопросы....

06 03 2026 17:51:17

Как повысить продажи брендовых украшений на 8-е марта. Кейс Pandora

Как повысить продажи брендовых украшений на 8-е марта. Кейс Pandora Стратегия продвижения, благодаря которой удалось снизить стоимость заявки от покупателей. Рассказываем об особенностях проведения акций в нише. Узнать больше!...

05 03 2026 7:13:29

Как получать деньги из YouTube

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

04 03 2026 1:26:44

Где бесплатно разместить ссылки — площадки для продвижения

Где бесплатно разместить ссылки — площадки для продвижения Как найти релевантный сайт-донор для размещения своей ссылки...

03 03 2026 15:10:49

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

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

02 03 2026 16:13:14

Анализ ссылочной массы с помощью Ahrefs и Serpstat

Краткое сравнение двух инструментов и третьего на закуску....

01 03 2026 3:18:40

WolframAlpha или Вычислительная Теория Всего

Гениальный математик создал систему, которая вполне может конкурировать с Google — Wolfram|Alpha. Или нет? Это не поисковик, тогда при чем здесь Гугл и теория вычислимости?...

28 02 2026 3:13:47

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