Workspace, Compute & Cluster
Workspace UI, các loại compute (cluster/SQL warehouse/serverless), Databricks Runtime, Photon, cluster policy, CLI.
Chọn sai loại compute là nguyên nhân số 1 gây lãng phí chi phí trên Databricks (cluster chạy 24/7 không ai dùng, cluster quá lớn cho tác vụ nhỏ). Hiểu rõ các loại compute và khi nào dùng loại nào là kỹ năng vận hành nền tảng quan trọng nhất, ảnh hưởng trực tiếp đến hoá đơn cloud hàng tháng.
🎯 Mục tiêu học tập
- Phân biệt All-purpose cluster, Job cluster, SQL Warehouse, và Serverless compute
- Cấu hình cluster đúng cách: autoscaling, spot instance, cluster policy
- Hiểu Databricks Runtime (DBR), Runtime ML, và vai trò của Photon engine
- Sử dụng Databricks CLI và Databricks Connect để làm việc từ IDE local
4 loại Compute chính
| Loại | Đặc điểm | Khi nào dùng |
|---|---|---|
| All-purpose cluster | Chạy liên tục (hoặc tự tắt sau N phút idle), dùng chung cho nhiều notebook/người dùng | Phát triển tương tác, khám phá dữ liệu, debug |
| Job cluster | Tạo mới khi job bắt đầu, tự huỷ khi job xong — không tính phí lúc idle | Chạy pipeline production theo lịch (luôn ưu tiên loại này cho job tự động) |
| SQL Warehouse | Compute tối ưu riêng cho truy vấn SQL, có Photon mặc định | Dashboard, BI, truy vấn SQL từ công cụ BI ngoài |
| Serverless | Databricks tự quản lý hạ tầng, khởi động gần như tức thì, tính phí theo giây dùng thật | Notebook, job, SQL Warehouse khi muốn bỏ hẳn việc quản lý cluster |
Dùng All-purpose cluster để chạy job production theo lịch. Cluster này thường có auto-termination dài hoặc bị quên tắt, chạy 24/7 dù chỉ dùng vài phút mỗi ngày — luôn dùng Job cluster hoặc Serverless cho tác vụ tự động.
Databricks Runtime, Runtime ML, và Photon
Databricks Runtime (DBR) là bản phân phối Apache Spark đã được Databricks tối ưu và đóng gói sẵn nhiều thư viện phổ biến (nên chọn bản LTS cho production vì được hỗ trợ dài hạn, ít thay đổi bất ngờ). Runtime ML là biến thể có sẵn PyTorch/TensorFlow/MLflow/scikit-learn cài đặt sẵn, tối ưu cho khối lượng công việc ML. Photon là engine thực thi truy vấn viết lại bằng native code (thay vì JVM), tương thích ngược với Spark API hiện có, tăng tốc đáng kể cho truy vấn SQL và một số thao tác DataFrame — nên bật mặc định trừ khi có lý do cụ thể để tắt.
Cluster Policy & Cost Control
Cluster policy cho phép admin giới hạn loại instance, số node tối đa, tự động áp dụng spot instance, và bắt buộc auto-termination — công cụ quan trọng để tránh một dev vô tình tạo cluster khổng lồ chạy quên tắt. Với team nhỏ mới bắt đầu, nguyên tắc thực dụng: autoscaling bật sẵn (min 1 - max theo ngân sách), auto-termination 15-30 phút cho cluster tương tác, và ưu tiên spot instance cho worker node (rẻ hơn 60-90%, chấp nhận được vì Spark tự phục hồi khi mất worker giữa chừng).
Databricks CLI & Databricks Connect
Databricks CLI (bản mới nhất viết lại bằng Go, nhanh và không cần Python runtime riêng) cho phép quản lý workspace, job, cluster từ terminal — nền tảng cho CI/CD (Module 13). Databricks Connect cho phép viết và chạy code PySpark từ IDE local (VS Code) nhưng thực thi trên cluster Databricks thật — giữ trải nghiệm dev quen thuộc (debugger, autocomplete) mà vẫn tận dụng compute từ xa.
# Cài đặt & cấu hình CLI
pip install databricks-cli
databricks configure --token
# Liệt kê cluster đang chạy
databricks clusters list
# Chạy 1 job có sẵn
databricks jobs run-now --job-id 12345
🏋️ Bài tập thực hành
Tạo 1 All-purpose cluster nhỏ (2 worker), 1 Job cluster chạy cùng notebook, và thử 1 SQL Warehouse Serverless — chạy cùng một truy vấn tổng hợp dữ liệu mẫu (dataset có sẵn trong Databricks, ví dụ samples catalog). Ghi lại thời gian khởi động, thời gian chạy, và ước tính chi phí (DBU × giá) cho từng loại. Cấu hình 1 cluster policy giới hạn instance type và bắt buộc auto-termination 20 phút.
📚 Tài nguyên học tập
-
Databricks — Compute documentationTài liệu chính thức về các loại computeDocs
-
Databricks — Cluster policiesHướng dẫn cấu hình cluster policyDocs
-
Databricks CLI — DocumentationTài liệu Databricks CLIDocs
-
Databricks Connect — DocumentationKết nối IDE local với cluster từ xaDocs
✅ Tự đánh giá hoàn thành
- Phân biệt rõ khi nào dùng All-purpose, Job cluster, SQL Warehouse, Serverless
- Cấu hình được autoscaling, spot instance, và auto-termination cho 1 cluster
- Chạy được lệnh cơ bản qua Databricks CLI
- Giải thích được Photon engine cải thiện hiệu năng ở đâu