Psaní dotazů v BigQuery

Introduction to BigQuery

Matt Forrest

Field CTO

Psaní jednoduchých dotazů

Jednoduchý dotaz v BigQuery

-- Note the table name structure

SELECT
    * 
FROM 
    `project.ecommerce.order_items`
Introduction to BigQuery

Spouštění dotazů v BigQuery

Dotazy v BigQuery lze spouštět prostřednictvím:

  • BigQuery Studio
  • Klientských knihoven (např. Python)
  • Nástroje příkazového řádku Google Cloud
  • Pandas

Konzole BigQuery

Introduction to BigQuery

Správné názvy tabulek

-- 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
Introduction to BigQuery

GoogleSQL

Přehled datových typů v GoogleSQL

Introduction to BigQuery

Naše datové sady: Olist E-Commerce

  • Objednávky: Číslo objednávky a informace o položkách
  • Detaily objednávky: ID zákazníka, data objednávky a doručení
  • Platby: Typ platby, rozdělené platby, částky
  • Produkty: Kategorie, popis, rozměry

Osoba s balíčky

1 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce
Introduction to BigQuery

Produkty

  • product_id – jedinečné ID produktu
  • product_photos_qty – počet fotografií produktu
  • product_weight_g – hmotnost produktu
  • product_category_name_english – název kategorie produktu

Osoba s balíčky

Introduction to BigQuery

Objednávky

  • order_id – jedinečné ID objednávky
  • order_itemsSTRUCT s informacemi o položkách objednávky
    • order_item_id – číslo položky v objednávce
    • product_id – jedinečné ID produktu
    • seller_id – jedinečné ID prodejce
    • price – cena položky objednávky

Osoba s balíčky

Introduction to BigQuery

Detaily objednávky

  • order_id – jedinečné ID objednávky
  • customer_id – jedinečné ID zákazníka
  • order_status – aktuální stav objednávky
  • order_purchase_timestamp – čas zadání objednávky
  • order_approved_at – čas schválení objednávky
  • order_delivered_carrier_date – čas převzetí dopravcem
  • order_delivered_customer_date – čas doručení zákazníkovi
  • order_estimated_delivery_date – odhadovaný čas doručení
Introduction to BigQuery

Platby

  • order_id – jedinečné ID objednávky
  • payment_type – typ platby
  • payment_sequential – číslo platby
  • payment_installments – počet splátek
  • payment_value – hodnota platby

Osoba s balíčky

Introduction to BigQuery

Opakování agregací a spojení

-- 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

Pět klíčových součástí:

  1. Agregační funkce
  2. Levá datová sada
  3. Pravá datová sada
  4. Podmínka spojení
  5. Podmínka seskupení
Introduction to BigQuery

Lass uns üben!

Introduction to BigQuery

Preparing Video For Download...