Pokročilé vzory analýzy dat

Úvod do Databricks SQL

Kevin Barlow

Data Manager

Motivace

Diagram Lakehouse – analýza

Úvod do Databricks SQL

Poddotazy

  • Dosaženo „zanořením" SQL dotazů
    • Zanořený dotaz je považován za novou „tabulku"
    • Funkčně podobné vytvoření pohledu
  • Vhodné pro různé případy použití
    • Získání výsledků jiného dotazu
    • Zjednodušení složitých dotazů
    • Agregace v rámci dotazu
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
Úvod do Databricks SQL

Okenní funkce

  • Kategorie funkcí a technik SQL
  • Provádí výpočet přes určitý rozsah řádků
    • Řádky jsou navzájem nějak propojeny
  • Příklady:
    • Výpočet metriky na základě časového rozsahu
    • Výpočet změny přes po sobě jdoucí řádky
    • Výpočet přes více dimenzí
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
Úvod do Databricks SQL

Pokročilé funkce Databricks SQL

RANK()

  • Porovnává řádky v rámci daného oddílu a vypočítá pořadí každého řádku
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() a LEAD()

  • Vrátí předchozí (LAG()) nebo následující (LEAD()) hodnotu z řádku
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
Úvod do Databricks SQL

Pojďme si procvičit!

Úvod do Databricks SQL

Preparing Video For Download...