Bigquery - Анализ затрат растет очень быстро - Data Studio Report - PullRequest
1 голос
/ 10 февраля 2020

Я использую BigQuery для создания отчетов в Data Studio Report из облака Google. «Большая проблема» :):

После этого затраты на анализ начинают расти очень быстро, как вы можете видеть на этом изображении:

enter image description here

Я использую представления для создания этих отчетов. Представления Вот так:

SELECT
      footwear.style as style,
      SUM(footwear.MSRP_USD) as revenue,
      SUM(CAST(order_line.quantity AS NUMERIC)) as units_sold,
      SUM((SELECT SUM(order_line_refund.quantity) FROM myproject.shopify.ORDER_LINE_REFUND AS order_line_refund WHERE order_line_refund.order_line_id = order_line.id)) AS return_quantity,
FROM myproject.shopify.ORDER as orders
INNER JOIN myproject.shopify.ORDER_LINE as order_line on orders.id = order_line.order_id
INNER JOIN myproject.catalogDB.footwear_catalog as footwear on order_line.sku = footwear.sku
LEFT JOIN myproject.shopify.ORDER_LINE_REFUND as order_line_refund on order_line.id = order_line_refund.order_line_id
LEFT JOIN myproject.shopify.DISCOUNT_APPLICATION as discount_app on orders.id = discount_app.order_id
WHERE footwear.style IN ('Serena','Caro','Sloane') AND (discount_app.value < 100 OR discount_app.value IS NULL) AND orders.cancelled_at IS NULL
GROUP BY style

Стоимость этого простого запроса: запрос выполнен (5,3 сек c прошло, 6,9 МБ обработано)

И у меня есть другие взгляды, которые намного больше этого.

Я не знаю, возможно ли отключить автоматизацию c data refre sh в Data Studio. и я совершенно уверен, что использование представлений не является хорошей идеей.

Я также могу рассмотреть возможность использования извлеченного источника данных? Так что я могу планировать, когда данные обновляются, это лучшая идея?

1 Ответ

4 голосов
/ 10 февраля 2020

Существует несколько способов экономии затрат:

  1. Материализуйте запросы отчетов, используя пакетное задание , в отдельную таблицу и запустите отчеты об этом.
  2. Убедитесь, что таблицы разбиты на разделы , а затем используйте ключ разделения во всех ваших запросах для фильтрации ненужных данных.
  3. Вы можете использовать BI BI в качестве динамического элемента c движок кеширования для ваших запросов. Это позволяет избежать чтения из BigQuery.

PS: отметьте Управление затратами BigQuery .

...