Scrivere query in BigQuery

Introduzione a BigQuery

Matt Forrest

Field CTO

Scrivere query semplici

Una query semplice in BigQuery

-- Nota la struttura del nome della tabella

SELECT
    * 
FROM 
    `project.ecommerce.order_items`
Introduzione a BigQuery

Eseguire query in BigQuery

Possiamo eseguire query in BigQuery tramite:

  • BigQuery Studio
  • Librerie client (es. Python)
  • Strumento a riga di comando Google Cloud
  • pandas

Console BigQuery

Introduzione a BigQuery

Usare i nomi tabella corretti

-- Uso della struttura completa del nome tabella


SELECT
    * 
FROM 
    `project.ecommerce.ecomm_order_details`
/* Uso della forma abbreviata 
del nome tabella */

SELECT
    * 
FROM 
    ecommerce.ecomm_order_details
Introduzione a BigQuery

GoogleSQL

Riferimento tipi di dato per GoogleSQL

Introduzione a BigQuery

I nostri dataset: Olist E-Commerce

  • Orders: Numero ordine e informazioni sugli articoli
  • Order details: ID cliente, date ordine e spedizione
  • Payments: Tipo di pagamento, rate, importi
  • Products: Categoria, descrizione, dimensioni

Persona con pacchi

1 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce
Introduzione a BigQuery

Products

  • product_id - ID prodotto univoco
  • product_photos_qty - numero di foto del prodotto
  • product_weight_g - peso del prodotto
  • product_category_name_english - nome categoria prodotto

Persona con pacchi

Introduzione a BigQuery

Orders

  • order_id - ID ordine univoco
  • order_items - STRUCT con le info sugli articoli dell'ordine
    • order_item_id - Numero articolo nell'ordine
    • product_id - ID prodotto univoco
    • seller_id - ID venditore univoco
    • price - Prezzo dell'articolo

Persona con pacchi

Introduzione a BigQuery

Dettagli ordine

  • order_id - ID ordine univoco
  • customer_id - ID cliente univoco
  • order_status - stato attuale dell'ordine
  • order_purchase_timestamp - Timestamp di acquisto
  • order_approved_at - Timestamp di approvazione
  • order_delivered_carrier_date - Timestamp di presa in carico dal corriere
  • order_delivered_customer_date - Timestamp di consegna al cliente
  • order_estimated_delivery_date - Timestamp della data stimata di consegna
Introduzione a BigQuery

Payments

  • order_id - ID ordine univoco
  • payment_type - tipo di pagamento
  • payment_sequential - numero pagamento
  • payment_installments - numero di rate
  • payment_value - importo del pagamento

Persona con pacchi

Introduzione a BigQuery

Ripasso: aggregazioni e join

-- Conteggio ordini per cliente

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

Cinque componenti chiave:

  1. Funzione di aggregazione
  2. Dataset sinistro
  3. Dataset destro
  4. Condizione di join
  5. Condizione di raggruppamento
Introduzione a BigQuery

Esercitiamoci!

Introduzione a BigQuery

Preparing Video For Download...