BigQuery: как развернуть таблицу в материализованном виде? - PullRequest
0 голосов
/ 11 июля 2020

С помощью Google BigQuery я хотел бы визуализировать некоторые данные в Google Data Studio. Поскольку набор данных довольно большой по объему, и я хотел бы максимизировать эффективность обработки данных, я сначала вложил данные (как на уровне обращения, так и на уровне продукта) с помощью следующего запроса (который сильно упрощен для целей иллюстрации) с входными данными таблица Google Analytics (по умолчанию импортированная из Google Analytics в BigQuery):

#standardSQL
SELECT
  visitorid, visitNumber, visitId, visitStartTime, date,
  ARRAY(
  SELECT
    AS STRUCT hits.hitNumber, hits.time, hits.hour,
    ARRAY(
    SELECT
      AS STRUCT product.productSKU, product.v2ProductName, product.productVariant
    FROM
      hits.product) AS productInfo
  FROM
    t.hits
  ORDER BY
    hits.hitNumber) AS hitInfo
FROM
  `[projectID].[DatasetID].ga_sessions_*` AS t
WHERE
  _TABLE_SUFFIX BETWEEN FORMAT_DATE("%Y%m%d",DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
  AND FORMAT_DATE("%Y%m%d",DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))

Поскольку я почувствовал, что у Google Data Studio есть проблемы с вложенными данными (неправильные агрегаты), в качестве предлагаемого решения я читал в другом месте, чтобы сгладить (т.е. разложить) данные в материализованном представлении сначала и подключить сглаженные данные из этого материализованного представления к Google Data Studio.

(Примечание: я также мог бы выбрать прямое отключение данные в приведенном выше запросе и подключите их к Google Data Studio, но я бы хотел go для решения «материализованное представление» из-за повышения эффективности данных.)

Теперь мой вопрос: кто-нибудь знает, как преобразовать в не вложенный формат в материализованном запросе представления i В этом конкретном случае c? Читая документацию, UNNEST () не поддерживается в материализованном представлении, поэтому я не знаю, как это сделать.

Заранее спасибо!

1 Ответ

0 голосов
/ 29 июля 2020

Согласно документации обнаружение материализованных представлений BigQuery Ограничения глава:

Материализованное представление ограничено ссылками только на одна таблица и не может использовать объединения или UNNEST функциональность

Сказав это и следуя комментариям обсуждения, опубликованным @Timo Rietveld и @Martin Weitzmann, я предполагаю, что планируя визуализировать данные в Google Data Studio и выполнения некоторых функций агрегирования, вероятно, потребовалось бы сгладить данные в простой формат с помощью оператора UNNEST для достижения наилучшего результата.

Например, таблицы событий, импортируемые из Google Analytics с несколькими клавишами: параметры значения, представленные в виде массива в столбце событий. Затем вы можете сгладить каждый элемент массива как одну строку, что также упростит структуру данных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...