Erweiterte Muster für Datenanalyse

Einführung in Databricks SQL

Kevin Barlow

Data Manager

Motivation

Lakehouse-Diagramm – Analyse

Einführung in Databricks SQL

Subqueries

  • Erreicht durch „Verschachteln“ von SQL-Abfragen
    • Verschachtelte Abfrage als neue „Tabelle“ denken
    • Ähnlich wie eine View erstellen
  • Nützlich für viele Use Cases
    • Ergebnisse einer anderen Abfrage holen
    • Komplexe Abfragen vereinfachen
    • Aggregation innerhalb einer Abfrage
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
Einführung in Databricks SQL

Window Functions

  • Kategorie von SQL-Funktionen und -Techniken
  • Berechnet über einen definierten Zeilenbereich
    • Zeilen stehen in Beziehung zueinander
  • Beispiele:
    • Kennzahl über einen Zeitbereich berechnen
    • Änderung über aufeinanderfolgende Zeilen
    • Über mehrere Dimensionen berechnen
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
Einführung in Databricks SQL

Erweiterte Databricks SQL-Funktionen

RANK()

  • Vergleicht Zeilen innerhalb einer Partition und berechnet für jede den Rang
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() und LEAD()

  • Gibt den vorherigen (LAG()) bzw. folgenden (LEAD()) Wert der Zeile zurück
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
Einführung in Databricks SQL

Lass uns üben!

Einführung in Databricks SQL

Preparing Video For Download...