Padrões avançados de análise de dados

Introduction to Databricks SQL

Kevin Barlow

Data Manager

Motivação

Diagrama Lakehouse - Análise

Introduction to Databricks SQL

Subconsultas

  • Feito por “aninhamento” de consultas SQL
    • A subconsulta é vista como uma nova “tabela”
    • Na prática, parecido com criar uma view
  • Útil para vários casos
    • Reaproveitar resultados de outra consulta
    • Simplificar consultas complexas
    • Agregar dentro de uma 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
Introduction to Databricks SQL

Funções janela

  • Categoria de funções e técnicas SQL
  • Calcula sobre um intervalo específico de linhas
    • Linhas têm alguma relação entre si
  • Exemplos:
    • Métrica em uma faixa de tempo
    • Variação entre linhas subsequentes
    • Cálculo em várias dimensões
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
Introduction to Databricks SQL

Funções avançadas do Databricks SQL

RANK()

  • Compara linhas dentro de uma partição e calcula o ranking de cada linha
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() e LEAD()

  • Retorna o valor anterior (LAG()) ou o seguinte (LEAD()) da linha
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
Introduction to Databricks SQL

Vamos praticar!

Introduction to Databricks SQL

Preparing Video For Download...