Modele avansate de analiză a datelor

Introducere în Databricks SQL

Kevin Barlow

Data Manager

Motivație

Diagrama Lakehouse - Analiză

Introducere în Databricks SQL

Subinterogări

  • Se realizează prin „imbricarea" interogărilor SQL
    • Interogarea imbricată este tratată ca un nou „tabel"
    • Similar cu crearea unui view
  • Utilă pentru diverse cazuri de utilizare
    • Returnarea rezultatelor unei alte interogări
    • Simplificarea interogărilor complexe
    • Agregare în cadrul unei interogări
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
Introducere în Databricks SQL

Funcții de fereastră

  • O categorie de funcții și tehnici SQL
  • Efectuează calcule pe un interval specific de rânduri
    • Rândurile au o relație între ele
  • Exemple:
    • Calcularea unei metrici pe un interval de timp
    • Calcularea variației între rânduri consecutive
    • Calcularea pe mai multe dimensiuni
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
Introducere în Databricks SQL

Funcții avansate Databricks SQL

RANK()

  • Compară rândurile dintr-o partiție și calculează un rang pentru fiecare rând
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() și LEAD()

  • Returnează valoarea precedentă (LAG()) sau următoare (LEAD()) din rând
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
Introducere în Databricks SQL

Să exersăm!

Introducere în Databricks SQL

Preparing Video For Download...