Patrones avanzados de análisis de datos

Introducción a Databricks SQL

Kevin Barlow

Data Manager

Motivación

Diagrama Lakehouse - Análisis

Introducción a Databricks SQL

Subconsultas

  • Se logra con consultas SQL "anidadas"
    • La consulta anidada se trata como una nueva "tabla"
    • Similar a crear una vista
  • Útil para muchos casos de uso
    • Recuperar resultados de otra consulta
    • Simplificar consultas complejas
    • Agregaciones dentro de una consulta
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
Introducción a Databricks SQL

Funciones de ventana

  • Categoría de funciones y técnicas SQL
  • Calculan sobre un rango específico de filas
    • Las filas tienen alguna relación entre sí
  • Ejemplos:
    • Métrica basada en un rango temporal
    • Cambio entre filas consecutivas
    • Cálculos en varias dimensiones
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
Introducción a Databricks SQL

Funciones avanzadas de Databricks SQL

RANK()

  • Compara filas dentro de una partición y calcula el rango de cada una
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() y LEAD()

  • Devuelven el valor anterior (LAG()) o siguiente (LEAD()) de la fila
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
Introducción a Databricks SQL

¡Vamos a practicar!

Introducción a Databricks SQL

Preparing Video For Download...