Написання запитів у BigQuery

Вступ до BigQuery

Matt Forrest

Field CTO

Написання простих запитів

Простий запит у BigQuery

-- Зверніть увагу на структуру імені таблиці

SELECT
    * 
FROM 
    `project.ecommerce.order_items`
Вступ до BigQuery

Запуск запитів у BigQuery

Запити в BigQuery можна виконувати через:

  • BigQuery Studio
  • Клієнтські бібліотеки (напр., Python)
  • Командний рядок Google Cloud
  • Pandas

Консоль BigQuery

Вступ до BigQuery

Коректні імена таблиць

-- Використання повної структури імені таблиці


SELECT
    * 
FROM 
    `project.ecommerce.ecomm_order_details`
/* Використання короткої 
форми імені таблиці */

SELECT
    * 
FROM 
    ecommerce.ecomm_order_details
Вступ до BigQuery

GoogleSQL

Довідник типів даних для GoogleSQL

Вступ до BigQuery

Наші набори даних: Olist E‑Commerce

  • Orders: номер замовлення та позиції замовлення
  • Order details: ідентифікатор клієнта, дати замовлення й доставки
  • Payments: тип оплати, розбиття платежів, суми
  • Products: категорія, опис, габарити товару

Людина з пакунками

1 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce
Вступ до BigQuery

Products

  • product_id — унікальний ID товару
  • product_photos_qty — кількість фото товару
  • product_weight_g — вага товару
  • product_category_name_english — назва категорії товару

Людина з пакунками

Вступ до BigQuery

Orders

  • order_id — унікальний ID замовлення
  • order_itemsSTRUCT з інформацією про позиції замовлення
    • order_item_id — номер позиції в замовленні
    • product_id — унікальний ID товару
    • seller_id — унікальний ID продавця
    • price — ціна позиції замовлення

Людина з пакунками

Вступ до BigQuery

Order details

  • order_id — унікальний ID замовлення
  • customer_id — унікальний ID клієнта
  • order_status — поточний статус замовлення
  • order_purchase_timestamp — час оформлення покупки
  • order_approved_at — час схвалення замовлення
  • order_delivered_carrier_date — час передачі перевізнику
  • order_delivered_customer_date — час доставки клієнту
  • order_estimated_delivery_date — очікувана дата доставки
Вступ до BigQuery

Payments

  • order_id — унікальний ID замовлення
  • payment_type — тип оплати
  • payment_sequential — номер платежу
  • payment_installments — кількість платежів у розстрочку
  • payment_value — сума цього платежу

Людина з пакунками

Вступ до BigQuery

Огляд агрегацій і з'єднань

-- Кількість замовлень на клієнта

SELECT
    d.customer_id,
    COUNT(o.order_id)
FROM 
    ecommerce.ecomm_order_details d
JOIN 
    ecommerce.ecomm_orders o
USING (order_id)
GROUP BY
    d.customer_id

П'ять ключових складників:

  1. Агрегатна функція
  2. Лівий набір даних
  3. Правий набір даних
  4. Умова з'єднання
  5. Умова групування
Вступ до BigQuery

Давайте потренуємось!

Вступ до BigQuery

Preparing Video For Download...