Полная функциональность OWOX BI без ограничений в течение недели Попробовать бесплатно

Как использовать запросы на legacy SQL к таблицам, собранным потоками «Рекламные сервисы → Google BigQuery»?

Потоки «Рекламные сервисы → Google BigQuery» собирают данные в партиционные таблицы — данные из каждого рекламного сервиса собираются в отдельную таблицу, разделенную по date/timestamp.

Благодаря этому способу партиционирования, поток OWOX BI загружает исторические данные из рекламного сервиса точно по датам. Обработка данных в таких таблицах происходит быстрее, чем в таблицах с партициями по ingestion-time. Каждый раз, когда вы обращаетесь к таблице с SQL-запросом, обработка запроса занимает меньше времени и стоит дешевле.

При этом, у таблиц с партициями по date/timestamp есть ограничение: в SQL-запросах к таким таблицам Google BigQuery поддерживает только диалект standard SQL.

Если вам важно использовать запросы, написанные на legacy SQL — читайте ниже, как это сделать.

Шаг 1. В Google BigQuery, к таблице, собранной потоком, составьте запрос на standard SQL, который будет сохранять нужные вам данные в структуре, которая подходит для вашего legacy SQL-запроса.

Пример запроса:

#standardSQL
SELECT
   account_id,
   CAST(date AS STRING) AS date,
   CAST(campaign_id AS STRING) AS campaign_id,
   campaign.name AS campaign_name,
   SUM(impressions) AS impressions,
   SUM((SELECT inline_link_clicks FROM UNNEST(insights.data))) AS clicks,
   SUM(spend) AS cost,
   account_currency AS currency
FROM `Project.Dataset.Table`
WHERE date >= '2020-07-04'
GROUP BY date,account_id, account_currency, campaign_id, campaign_name
ORDER BY date

Шаг 2. Создайте на основе этого запроса scheduled query (запрос по расписанию):image1.png

Готово. Теперь вы можете применять запросы на legacy SQL к таблицам, которые будет создавать настроенный запрос по расписанию.

Обратите внимание:Выше описан простой способ создания таблиц, к которым можно применять запросы на legacy SQL. Запросы по расписанию также позволяют создавать sharded-таблицы с помощью шаблонизации названия destination table.
Sharded-таблицы позволяют сохранять только новые данные. Благодаря этому сохранение данных и запросы к ним происходят быстрее и стоят дешевле.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

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

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