Zaawansowane wzorce analizy danych

Wprowadzenie do Databricks SQL

Kevin Barlow

Data Manager

Motywacja

Diagram Lakehouse – Analiza

Wprowadzenie do Databricks SQL

Podzapytania

  • Realizowane przez "zagnieżdżanie" zapytań SQL
    • Zagnieżdżone zapytanie traktowane jest jak nowa "tabela"
    • Działa podobnie do tworzenia widoku
  • Przydatne w wielu przypadkach
    • Pobieranie wyników innego zapytania
    • Upraszczanie złożonych zapytań
    • Agregacja wewnątrz zapytania
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
Wprowadzenie do Databricks SQL

Funkcje okna

  • Kategoria funkcji i technik SQL
  • Wykonuje obliczenia na określonym zakresie wierszy
    • Wiersze pozostają ze sobą w pewnej relacji
  • Przykłady:
    • Obliczanie metryki na podstawie zakresu czasu
    • Obliczanie zmian między kolejnymi wierszami
    • Obliczenia w wielu wymiarach
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
Wprowadzenie do Databricks SQL

Zaawansowane funkcje Databricks SQL

RANK()

  • Porównuje wiersze w obrębie danej partycji i oblicza rangę dla każdego wiersza
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()

  • Zwraca poprzednią (LAG()) lub następną (LEAD()) wartość z wiersza
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
Wprowadzenie do Databricks SQL

Czas na ćwiczenia!

Wprowadzenie do Databricks SQL

Preparing Video For Download...