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



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

Как настроить языковую версию сайта

Если выполнить настройку не корректно, поисковик воспримет материалы как дубли контента....

15 07 2024 0:38:13

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

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

14 07 2024 10:28:20

Как обойти агрегаторы и маркетплейсы в выдаче: пошаговая инструкция

Как обойти агрегаторы и маркетплейсы в выдаче: пошаговая инструкция Доминирование маркетплейсов и агрегаторов в Яндексе усилилось. Первый магазин появляется не раньше 5 позиции. Поэтому компания Alto подготовила пошаговое руководство - как обойти агрегаторы в выдаче....

13 07 2024 1:26:42

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

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

12 07 2024 6:32:18

Типы соответствия ключевых слов в Google Рекламе и Яндекс.Директ — подробная инструкция

Типы соответствия ключевых слов в Google Рекламе и Яндекс.Директ — подробная инструкция Как разобраться в типах соответствия ключевых слов и определить, что минус-слова блокируют показы нужных ключевых слов....

11 07 2024 5:30:16

Как проводить вебинары — опыт агентства Netpeak

Как проводить вебинары — опыт агентства Netpeak Мы решили организовать серию вебинаров по SEO и предоставить их бесплатно. История о том, как с нуля при минимуме затрат создать успешный онлайн-курс...

10 07 2024 16:25:40

Какую картинку выбрать для Рекламной сети Яндекса — руководство и кейс

Расскажу, как подобрать картинку на рабочий стол объявления в Рекламной сети Яндекса, и приведу небольшой кейс о том, как это делали мы для агентства путешествий...

09 07 2024 8:52:27

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

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

08 07 2024 10:57:23

Бархатная оптимизация исходящих ссылок

Бархатная оптимизация исходящих ссылок Качественные исходящие ссылки и исходящий мусор, который только вредит репутации сайта. Находим и отсеиваем....

07 07 2024 16:54:22

Почему мы так говорим — из истории устойчивых выражений

Почему мы так говорим — из истории устойчивых выражений Об истории и значении поговорок и других фразеологических оборотов...

06 07 2024 5:13:35

Email-маркетинг, который приносит заявки, продажи, лояльность и всё на свете — версия Netpeak

Email-маркетинг, который приносит заявки, продажи, лояльность и всё на свете — версия Netpeak Email-маркетинг — хороший полицейский, спам — плохой....

05 07 2024 12:57:27

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

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

04 07 2024 21:54:40

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

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

03 07 2024 22:57:42

Когортный анализ в Google ***ytics: пошаговая инструкция

Когортный анализ в Google ***ytics: пошаговая инструкция Когорта в google ***ytics позволяет снять любые претензии в духе «прошел уже целый месяц, где результаты»....

02 07 2024 18:55:51

Как сделать разработчикам приятно — опыт Netpeak

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

01 07 2024 12:10:20

Как мы нашли модель аналитики для SaaS-проекта UniSender.com

Как мы нашли модель аналитики для SaaS-проекта UniSender.com Что делать, если нет четкой модели оценки эффективности контекстной рекламы?...

30 06 2024 4:48:41

Как перевести статью для блога — инструкция для технарей

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

29 06 2024 15:53:23

5 способов повысить продажи с помощью социальных доказательств

5 способов повысить продажи с помощью социальных доказательств Чтобы увеличить продажи и улучшить их эффективность в новых условиях необходимо применять «социальные доказательства»....

28 06 2024 0:11:21

12 функций таблиц Google для работы с семантикой

12 функций таблиц Google для работы с семантикой + таблица с примерами использования каждой функции....

27 06 2024 12:57:36

Дропшиппинг: как за два месяца снизить стоимость привлечения лида на 25%

Дропшиппинг: как за два месяца снизить стоимость привлечения лида на 25% Дропшип предполагает минимум затрат со стороны предпринимателя. Например, не нужно думать о логистике, держать склад. Можно минимизировать и траты на рекламу. Узнать как!...

26 06 2024 1:59:28

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

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

25 06 2024 10:22:18

Как мы продвигали приложение в Instagram и получили CPI в два раза ниже, чем в Facebook

Как мы продвигали приложение в Instagram и получили CPI в два раза ниже, чем в Facebook Case по продвижению в Instagram. В любой непонятной ситуации — масштабируйте рекламные инструменты...

24 06 2024 7:45:49

MEGOGO, Google, Фокстрот и AIR Brands — как бренды создают эффективный видеоконтент

MEGOGO, Google, Фокстрот и AIR Brands — как бренды создают эффективный видеоконтент Бренды поделились инсайтами на ДиВи Конф — фишки от MEGOGO, Google, TikTok, Banda, McCann, I am IDEA, AIR Brands, Rocket и Фокстрот...

23 06 2024 14:51:23

Как вывести сайт из-под фильтра Яндекса за накрутку поведенческих факторов

Как вывести сайт из-под фильтра Яндекса за накрутку поведенческих факторов Что делать, если вы специально или нет попали под фильтр: руководство от выявления до спасения...

22 06 2024 6:43:30

Зачем нужна декомпозиция?

Зачем нужна декомпозиция? Или как не слить свой бюджет на рекламу....

21 06 2024 6:17:47

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

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

20 06 2024 11:56:46

Как продвигать видео YouTube в Google Рекламе

Как продвигать видео YouTube в Google Рекламе Есть восхитительная возможность продвинуть видео на YouTube с минимальными финансовыми потерями!...

19 06 2024 22:28:14

Как увеличить трафик блога на 1136% и привлечь тысячи новых пользователей — кейс блога Ahrefs

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

18 06 2024 16:14:44

Бесплатный SEO-аудит на примере AIN.ua

Обойдемся без теории, зато покажем пример SEO-аудита...

17 06 2024 7:50:33

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

Как работают платежные системы для интернет-магазинов Каждому бизнесу в интернете важно продумать систему оплаты для своих товаров или услуг. При этом следует учитывать объемы и нишу бизнеса. Узнать больше!...

16 06 2024 20:44:31

Пять вопросов для проверки софт-скиллз в IT

Пять вопросов для проверки софт-скиллз в IT Как узнать, что потенциальный сотрудник креативный, умеет убеждать, работать в комaнде, адаптироваться к быстрой смене условий, владеет эмоциональным интеллектом? Вопросы для проверки этих софт-скиллов здесь....

15 06 2024 7:36:26

Как мы получили заявки в нише B2B с высокой конкуренцией — кейс kkt365.ru

Как мы получили заявки в нише B2B с высокой конкуренцией — кейс kkt365.ru Как мы недооценили уровень конкуренции в нише, и как пришлось с этим бороться, чтобы принести пользу клиенту....

14 06 2024 1:43:49

Настройка поисковой рекламы в App Store — пошаговое руководство

Как создать Apple ID и настроить поисковую рекламу в App Store...

13 06 2024 13:33:45

Что делают украинские IT-компании для сотрудников: необычные бонусы к зарплате и отпуску

Что делают украинские IT-компании для сотрудников: необычные бонусы к зарплате и отпуску Страховка, медицина, корпоративы, английский и оплата спортзала — знакомые плюшки IT-компаний. В этом материале читайте про редкие и необычные бонусы, которые предоставляются в некоторых IT-компаниях Украины....

12 06 2024 5:34:26

Дамир Халилов о медиа маркетинге в социальных сетях

Дамир Халилов о медиа маркетинге в социальных сетях Книга про пять полезных фишек + стратегия продвижения интернет-магазина...

11 06 2024 4:45:35

Что такое PageRank страницы сайта и как его узнать

Что такое PageRank страницы сайта и как его узнать Алгоритм ссылочного ранжирования, который показывает ее значимость, в частности, для поисковиков. Важность показателя PageRank оспаривают, но до сих пор считают. Читать!...

10 06 2024 3:45:35

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

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

09 06 2024 0:40:22

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

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

08 06 2024 19:49:21

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

Как перенести кампании в Google Рекламу и Яндекс.Директ — подробное руководство для новичков Не хотите настраивать объявление в Google Рекламе и Яндекс.Директ по отдельности? Узнайте, как сделать экспорт кампании и сэкономить время....

07 06 2024 23:35:14

Что такое электронный кошелек и для чего им пользоваться

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

06 06 2024 5:15:49

Первая помощь в офисе — как вести себя в нештатных ситуациях

Первая помощь в офисе — как вести себя в нештатных ситуациях Человеку стало плохо, он теряет сознание. Те, кто рядом, хотят помочь, но не знают, как это сделать. Давайте разбираться....

05 06 2024 17:24:32

Алексей Гулый о правильных людях, новых идеях и бизнесе без потерь

Алексей Гулый о правильных людях, новых идеях и бизнесе без потерь Как начать бизнес в институте и масштабировать его до международной группы компаний. Собрали все самое интересное из интервью фаундера «Техно Ёж» Алексея Гулыя на конференции 8P....

04 06 2024 5:33:29

Запросы not provided — как получить больше информации

Запросы not provided — как получить больше информации Отслеживаем в статистике Google ***ytics посетителей пришедших через защищенное соединение в поиске Google....

03 06 2024 5:16:30

Как получать удовольствие от жизни. Советы из книги «Поток»

Как получать удовольствие от жизни. Советы из книги «Поток» Психологический бестселлер. Как достичь гармонии во всех делах и начать получать удовольствие от жизни, — об этом читайте в новой рецензии Константина Рябенко на книгу Михая Чиксентмихайи «Поток»....

02 06 2024 16:12:46

Алгоритм LSA для поиска похожих документов

Алгоритм LSA для поиска похожих документов Наши сотрудники смогли составить разбор непростых вещей, дать им определение и рассказать о них простым языком....

01 06 2024 9:57:43

Какие ошибки возникают при работе с Google ***ytics и как с ними бороться

Какие ошибки возникают при работе с Google ***ytics и как с ними бороться Советы специалистам по контекстной рекламе. Технические сложности, которые возникают при работе с Google ***ytics: от ограничений интерфейса до ошибок настройки отслеживания и последующей недостоверности полученных данных, и решения для них...

31 05 2024 7:33:24

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

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

30 05 2024 21:44:37

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

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

29 05 2024 10:48:44

Google показывает не все результаты поиска

Google показывает не все результаты поиска Сколько страниц на самом деле показывает и может перевести поисковик Google?...

28 05 2024 22:57:25

24 способа эффективно использовать поисковые операторы Google

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

27 05 2024 8:16:13

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