Databricks SQL & Data Warehousing
SQL Warehouses, dashboard, Genie (hỏi đáp ngôn ngữ tự nhiên), tích hợp công cụ BI, tối ưu truy vấn.
Không phải mọi người dùng dữ liệu đều viết code Spark — phần lớn analyst và stakeholder kinh doanh cần giao diện SQL/dashboard quen thuộc. Databricks SQL biến lakehouse thành một data warehouse thực thụ cho nhóm người dùng này, trên cùng dữ liệu mà data engineer đang xử lý — không cần đồng bộ sang hệ thống khác.
🎯 Mục tiêu học tập
- Sử dụng SQL Warehouse cho truy vấn BI, phân biệt các loại (Serverless/Pro/Classic)
- Xây dựng dashboard và hiểu cách Genie cho phép hỏi đáp bằng ngôn ngữ tự nhiên trên dữ liệu
- Kết nối công cụ BI ngoài (Power BI/Tableau) vào Databricks SQL
- Áp dụng các kỹ thuật tối ưu truy vấn SQL cơ bản trên nền tảng này
SQL Warehouse — 3 loại
| Loại | Đặc điểm |
|---|---|
| Serverless | Khởi động gần như tức thì (vài giây), Databricks tự quản lý hạ tầng — lựa chọn mặc định cho đa số trường hợp |
| Pro | Thêm một số tính năng nâng cao (Photon nâng cao, predictive I/O) trên hạ tầng khách hàng tự quản lý |
| Classic | Hạ tầng chạy hoàn toàn trong tài khoản cloud khách hàng, khởi động chậm hơn — phù hợp khi có ràng buộc mạng/compliance đặc thù không dùng được serverless |
Dashboard & Genie
Databricks SQL Dashboard cho phép xây trực quan hoá trực tiếp từ kết quả truy vấn SQL, refresh tự động theo lịch, chia sẻ cho người không có quyền truy cập trực tiếp vào bảng dữ liệu gốc (chỉ thấy dashboard). Genie là tính năng hỏi-đáp bằng ngôn ngữ tự nhiên trên một bộ dữ liệu đã định nghĩa trước (tương tự trải nghiệm chatbot RAG nhưng chuyên biệt cho dữ liệu có cấu trúc) — người dùng kinh doanh gõ câu hỏi tiếng Việt/Anh thông thường, Genie tự sinh SQL, chạy, và trả lời kèm biểu đồ. Đây là một ứng dụng thực tế của kỹ thuật "text-to-SQL", có liên hệ trực tiếp với kiến thức LLM/prompt ở khoá AI Engineer.
Tích hợp công cụ BI ngoài
Databricks SQL cung cấp endpoint JDBC/ODBC chuẩn để kết nối trực tiếp từ Power BI, Tableau, Looker... Với Power BI, nên ưu tiên chế độ DirectQuery hoặc Partner Connect (tích hợp có sẵn) để dashboard luôn phản ánh dữ liệu mới nhất từ lakehouse, thay vì import snapshot tĩnh.
Tối ưu truy vấn SQL trên Databricks
Ngoài các nguyên tắc SQL tổng quát (index/Z-order ở Module 3, tránh SELECT *), Databricks SQL có query result cache tự động — cùng một câu query chạy lại (không đổi dữ liệu nguồn) trả về gần như tức thì từ cache. Predictive I/O (trên SQL Warehouse Pro/Serverless) tự động tối ưu cách đọc file dựa trên pattern truy vấn trước đó, giảm nhu cầu tự tay tối ưu Z-order cho nhiều trường hợp phổ biến.
🏋️ Bài tập thực hành
Từ bảng Gold đã xây ở Module 6, tạo 1 SQL Warehouse Serverless, viết 3-4 câu truy vấn phân tích (doanh thu theo ngày, top khách hàng, tỉ lệ đơn huỷ), xây dashboard trực quan hoá kết quả, đặt lịch refresh tự động hàng ngày. Nếu workspace có Genie, thử đặt vài câu hỏi ngôn ngữ tự nhiên trên bộ dữ liệu này.
📚 Tài nguyên học tập
-
Databricks SQL — DocumentationTài liệu chính thức Databricks SQLDocs
-
Databricks — Genie spacesTài liệu tính năng GenieDocs
-
Databricks — Partner ConnectKết nối nhanh với công cụ BI ngoàiDocs
✅ Tự đánh giá hoàn thành
- Tạo và cấu hình được SQL Warehouse phù hợp nhu cầu
- Xây được ít nhất 1 dashboard có refresh tự động
- Kết nối được 1 công cụ BI ngoài (hoặc hiểu rõ cách kết nối qua JDBC/ODBC)
- Giải thích được query result cache hoạt động khi nào