Pola analisis data lanjutan

Pengantar Databricks SQL

Kevin Barlow

Data Manager

Motivasi

Diagram Lakehouse - Analisis

Pengantar Databricks SQL

Subquery

  • Dilakukan melalui kueri SQL yang "dinest"
    • Kueri terbenam diperlakukan sebagai "tabel" baru
    • Secara efektif mirip membuat view
  • Cocok untuk berbagai kasus penggunaan
    • Mengambil hasil dari kueri lain
    • Menyederhanakan kueri kompleks
    • Agregasi di dalam satu kueri
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
Pengantar Databricks SQL

Fungsi jendela

  • Kategori fungsi dan teknik SQL
  • Menghitung nilai pada rentang baris tertentu
    • Baris memiliki keterkaitan
  • Contoh:
    • Menghitung metrik berdasarkan rentang waktu
    • Menghitung perubahan antar baris berurutan
    • Menghitung lintas beberapa dimensi
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
Pengantar Databricks SQL

Fungsi SQL Databricks tingkat lanjut

RANK()

  • Membandingkan baris dalam suatu partisi dan menghitung peringkat tiap baris
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() dan LEAD()

  • Mengembalikan nilai sebelumnya (LAG()) atau berikutnya (LEAD()) dari baris
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
Pengantar Databricks SQL

Ayo berlatih!

Pengantar Databricks SQL

Preparing Video For Download...