Pisanie zapytań w BigQuery

Wprowadzenie do BigQuery

Matt Forrest

Field CTO

Pisanie prostych zapytań

Proste zapytanie w BigQuery

-- Note the table name structure

SELECT
    * 
FROM 
    `project.ecommerce.order_items`
Wprowadzenie do BigQuery

Uruchamianie zapytań w BigQuery

Zapytania w BigQuery można uruchamiać przez:

  • BigQuery Studio
  • Biblioteki klienckie (np. Python)
  • Narzędzie wiersza poleceń Google Cloud
  • Pandas

Konsola BigQuery

Wprowadzenie do BigQuery

Poprawne nazwy tabel

-- Using the full table name structure


SELECT
    * 
FROM 
    `project.ecommerce.ecomm_order_details`
/* Using the shorthand 
table name structure */

SELECT
    * 
FROM 
    ecommerce.ecomm_order_details
Wprowadzenie do BigQuery

GoogleSQL

Typy danych w GoogleSQL

Wprowadzenie do BigQuery

Nasze zbiory danych: Olist E-Commerce

  • Zamówienia: numer zamówienia i informacje o pozycjach
  • Szczegóły zamówień: ID klienta, daty zamówienia i dostawy
  • Płatności: typ płatności, płatności podzielone, kwoty
  • Produkty: kategoria, opis, wymiary produktu

Osoba z paczkami

1 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce
Wprowadzenie do BigQuery

Produkty

  • product_id - unikalny ID produktu
  • product_photos_qty - liczba zdjęć produktu
  • product_weight_g - waga produktu
  • product_category_name_english - nazwa kategorii produktu

Osoba z paczkami

Wprowadzenie do BigQuery

Zamówienia

  • order_id - unikalny ID zamówienia
  • order_items - STRUCT z informacjami o pozycjach zamówienia
    • order_item_id - numer pozycji w zamówieniu
    • product_id - unikalny ID produktu
    • seller_id - unikalny ID sprzedawcy
    • price - cena pozycji zamówienia

Osoba z paczkami

Wprowadzenie do BigQuery

Szczegóły zamówień

  • order_id - unikalny ID zamówienia
  • customer_id - unikalny ID klienta
  • order_status - bieżący status zamówienia
  • order_purchase_timestamp - znacznik czasu złożenia zamówienia
  • order_approved_at - znacznik czasu zatwierdzenia zamówienia
  • order_delivered_carrier_date - znacznik czasu przyjęcia przez przewoźnika
  • order_delivered_customer_date - znacznik czasu dostarczenia zamówienia
  • order_estimated_delivery_date - szacowany czas dostawy
Wprowadzenie do BigQuery

Płatności

  • order_id - unikalny ID zamówienia
  • payment_type - typ płatności
  • payment_sequential - numer płatności
  • payment_installments - liczba rat
  • payment_value - wartość płatności

Osoba z paczkami

Wprowadzenie do BigQuery

Powtórzenie: agregacje i złączenia

-- Count of orders per customers

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

Pięć kluczowych elementów:

  1. Funkcja agregująca
  2. Lewy zbiór danych
  3. Prawy zbiór danych
  4. Warunek złączenia
  5. Warunek grupowania
Wprowadzenie do BigQuery

Czas na ćwiczenia!

Wprowadzenie do BigQuery

Preparing Video For Download...