Modelli avanzati di analisi dei dati

Introduzione a Databricks SQL

Kevin Barlow

Data Manager

Motivazione

Diagramma Lakehouse - Analisi

Introduzione a Databricks SQL

Sottoquery

  • Ottenuto tramite query SQL "annidate"
    • La query annidata è vista come una nuova "tabella"
    • Simile alla creazione di una view
  • Utile per vari casi d’uso
    • Recuperare i risultati di un’altra query
    • Semplificare query complesse
    • Aggregazioni dentro una query
SELECT store, totalRev, product
FROM (
    SELECT count(*) as count,
          sum(revenue) as totalRev,
          min(price) as minPrice,
          max(units) as maxUnits,
          region,
          store,
          product
      FROM sales 
      GROUP BY region, store, product
) q
Introduzione a Databricks SQL

Funzioni finestra

  • Categoria di funzioni e tecniche SQL
  • Calcola su un intervallo specifico di righe
    • Le righe sono tra loro correlate
  • Esempi:
    • Calcolare una metrica su un intervallo temporale
    • Calcolare la variazione su righe successive
    • Calcolare su più dimensioni
SELECT name,
       dept,
       RANK() OVER 
           (PARTITION BY dept 
         ORDER BY salary) AS rank
  FROM employees;
name dept salary rank
Lisa Sales 10000 1
Alex Sales 30000 2
Fred Engineering 21000 1
Tom Engineering 23000 2
Introduzione a Databricks SQL

Funzioni avanzate di Databricks SQL

RANK()

  • Confronta le righe nella partizione e assegna un rango a ciascuna
SELECT a,
       b,
       RANK() OVER(PARTITION BY a ORDER BY b DESC),
    FROM table_name;
a b rank
A1 3 1
A1 1 3
A1 2 2
A2 1 1

LAG() e LEAD()

  • Restituisce il valore precedente (LAG()) o successivo (LEAD()) della riga
SELECT a,
       b,
       LAG(b) OVER (PARTITION BY a ORDER BY b)
    FROM table_name;
a b lag
A1 3 NULL
A1 1 3
A1 2 1
A2 1 NULL
Introduzione a Databricks SQL

Ayo berlatih!

Introduzione a Databricks SQL

Preparing Video For Download...