Mẫu phân tích dữ liệu nâng cao

Nhập môn Databricks SQL

Kevin Barlow

Data Manager

Động lực

Sơ đồ Lakehouse - Phân tích

Nhập môn Databricks SQL

Truy vấn con

  • Thực hiện bằng cách "lồng" truy vấn SQL
    • Truy vấn lồng được xem như một "bảng" mới
    • Tương tự tạo view
  • Hữu ích cho nhiều trường hợp
    • Lấy kết quả của truy vấn khác
    • Đơn giản hóa truy vấn phức tạp
    • Tổng hợp trong một truy vấn
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
Nhập môn Databricks SQL

Hàm cửa sổ

  • Một nhóm hàm và kỹ thuật SQL
  • Tính toán trên một phạm vi hàng cụ thể
    • Các hàng có liên hệ với nhau
  • Ví dụ:
    • Tính chỉ số theo khoảng thời gian
    • Tính thay đổi giữa các hàng liên tiếp
    • Tính trên nhiều chiều
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
Nhập môn Databricks SQL

Hàm Databricks SQL nâng cao

RANK()

  • So sánh các hàng trong từng phân vùng và tính hạng cho mỗi hàng
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() và LEAD()

  • Trả về giá trị trước (LAG()) hoặc sau (LEAD()) của hàng
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
Nhập môn Databricks SQL

Ayo berlatih!

Nhập môn Databricks SQL

Preparing Video For Download...