Query’s schrijven in BigQuery

Introductie tot BigQuery

Matt Forrest

Field CTO

Simpele query’s schrijven

Een simpele query in BigQuery

-- Let op de tabelnaamsstructuur

SELECT
    * 
FROM 
    `project.ecommerce.order_items`
Introductie tot BigQuery

Query’s uitvoeren in BigQuery

Je kunt query’s in BigQuery uitvoeren via:

  • BigQuery Studio
  • Clientbibliotheken (bijv. Python)
  • Google Cloud-cli
  • pandas

BigQuery-console

Introductie tot BigQuery

Correcte tabelnamen gebruiken

-- De volledige tabelnaamsstructuur gebruiken


SELECT
    * 
FROM 
    `project.ecommerce.ecomm_order_details`
/* De verkorte 
tabelnaamsstructuur gebruiken */

SELECT
    * 
FROM 
    ecommerce.ecomm_order_details
Introductie tot BigQuery

GoogleSQL

Gegevens­typereferentie voor GoogleSQL

Introductie tot BigQuery

Onze datasets: Olist E‑Commerce

  • Bestellingen: Ordernummer en orderregel-info
  • Orderdetails: Customer ID, bestel- en verzenddata
  • Betalingen: Betaalmethode, gespreide betalingen, bedragen
  • Producten: Categorie, beschrijving, afmetingen

Persoon met pakketten

1 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce
Introductie tot BigQuery

Producten

  • product_id - unieke product-ID
  • product_photos_qty - aantal productfoto’s
  • product_weight_g - gewicht van het product
  • product_category_name_english - productcategorie (Engels)

Persoon met pakketten

Introductie tot BigQuery

Bestellingen

  • order_id - unieke order-ID
  • order_items - STRUCT met info over orderregels
    • order_item_id - Itemnummer in de order
    • product_id - Unieke product-ID
    • seller_id - Unieke seller-ID
    • price - Prijs van de orderregel

Persoon met pakketten

Introductie tot BigQuery

Orderdetails

  • order_id - unieke order-ID
  • customer_id - unieke customer-ID
  • order_status - huidige orderstatus
  • order_purchase_timestamp - Tijdstip van aankoop
  • order_approved_at - Tijdstip van goedkeuring
  • order_delivered_carrier_date - Tijdstip waarop vervoerder het pakket ontving
  • order_delivered_customer_date - Tijdstip van levering bij klant
  • order_estimated_delivery_date - Verwachte leverdatum (timestamp)
Introductie tot BigQuery

Betalingen

  • order_id - unieke order-ID
  • payment_type - betaalmethode
  • payment_sequential - betalingsnummer
  • payment_installments - aantal termijnen
  • payment_value - bedrag van die betaling

Persoon met pakketten

Introductie tot BigQuery

Herhaling: aggregaties en joins

-- Aantal orders per klant

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

Vijf kernonderdelen:

  1. Aggregatiefunctie
  2. Linker dataset
  3. Rechter dataset
  4. Join-voorwaarde
  5. Groepeer-voorwaarde
Introductie tot BigQuery

Laten we oefenen!

Introductie tot BigQuery

Preparing Video For Download...