Geavanceerde patronen voor data-analyse

Introductie tot Databricks SQL

Kevin Barlow

Data Manager

Motivatie

Lakehouse-diagram - Analyse

Introductie tot Databricks SQL

Subqueries

  • Bereikt via geneste SQL-queries
    • Geneste query fungeert als een nieuwe “tabel”
    • Vergelijkbaar met een view
  • Handig voor diverse use-cases
    • Resultaten van een andere query ophalen
    • Complexe queries vereenvoudigen
    • Aggregatie binnen één 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
Introductie tot Databricks SQL

Vensterfuncties

  • Een categorie SQL-functies en -technieken
  • Voert berekeningen uit over een specifiek bereik aan rijen
    • Rijen zijn op een of andere manier gerelateerd
  • Voorbeelden:
    • Een metriek berekenen over een tijdsbereik
    • Verandering over opeenvolgende rijen berekenen
    • Berekenen over meerdere dimensies
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
Introductie tot Databricks SQL

Geavanceerde Databricks SQL-functies

RANK()

  • Vergelijkt rijen binnen een partitie en berekent een rang per rij
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() en LEAD()

  • Geeft de vorige (LAG()) of volgende (LEAD()) waarde uit de rij terug
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
Introductie tot Databricks SQL

Laten we oefenen!

Introductie tot Databricks SQL

Preparing Video For Download...