+1

Giới thiệu về Azure Databricks

Các khái niệm chính

ETL (Extract, Transform, Load)

Đây là một quy trình được sử dụng trong kho dữ liệu để:

  • Extract (Trích xuất): Lấy dữ liệu từ nhiều nguồn khác nhau.
  • Transform (Chuyển đổi): Định dạng dữ liệu sao cho phù hợp với phân tích.
  • Load (Tải): Lưu dữ liệu vào kho dữ liệu để truy vấn và báo cáo.

Kho dữ liệu (Data Warehouse)

Kho dữ liệu là một kho lưu trữ tập trung, chứa dữ liệu có cấu trúc ở mọi quy mô để phân tích và báo cáo. Nó được thiết kế để:

  • Xử lý và phân tích dữ liệu có cấu trúc.
  • Hỗ trợ các hoạt động kinh doanh thông minh (BI - Business Intelligence).

Databricks là gì?

Databricks là một nền tảng phân tích hợp nhất cung cấp giao diện người dùng trên web để làm việc với Apache Spark. Được sáng lập bởi những người tạo ra Apache Spark, Databricks được thiết kế để phân tích dữ liệu, xử lý dữ liệu lớn (Big Data) và truy vấn ở quy mô lớn.

Các tính năng chính của Databricks:

  • Giao diện web giúp làm việc với Apache Spark dễ dàng hơn.
  • Hỗ trợ phân tích dữ liệu lớn và truy vấn dữ liệu.
  • Hỗ trợ Machine Learning và xử lý dữ liệu thời gian thực.
  • Cho phép xây dựng kiến trúc Data Lakehouse với Delta Lake.

Azure Databricks

Azure Databricks là phiên bản Databricks được tích hợp hoàn toàn trên nền tảng đám mây Microsoft Azure. Nó kết hợp sức mạnh của Databricks với các dịch vụ của Azure để hỗ trợ phân tích dữ liệu quy mô lớn.

Các tính năng chính:

  • Phân tích dữ liệu lớn (Big Data Analytics): Xử lý khối lượng dữ liệu khổng lồ một cách hiệu quả.
  • Machine Learning & AI: Hỗ trợ xử lý dữ liệu thời gian thực và các mô hình học máy (Machine Learning).
  • Linh hoạt trong xử lý dữ liệu: Làm việc với mọi loại dữ liệu mà không cần di chuyển sang lưu trữ độc quyền.
  • Kiến trúc Data Lakehouse: Xây dựng trên Delta Lake để quản lý dữ liệu đáng tin cậy.
  • Tích hợp AI thế hệ mới: Sử dụng AI để hiểu dữ liệu của bạn.
  • Tích hợp sâu với Azure: Kết nối với Azure Data Lake Storage, Azure Synapse Analytics và các dịch vụ Azure khác.

Kiến trúc Databricks

  • Cluster Manager tạo Driver Program.
  • Driver Program chia nhỏ tác vụ và phân bổ cho các worker nodes (nút tính toán).

Các thành phần chính:

Workspace

  • Là môi trường quản lý tài nguyên Databricks, bao gồm notebook, cluster, job, thư viện, v.v.
  • Cung cấp giao diện hợp nhất để kỹ sư dữ liệu, nhà khoa học dữ liệu và nhà phân tích cộng tác phát triển giải pháp dữ liệu.

Catalog

  • Là cấp độ tổ chức dữ liệu cao nhất trong Unity Catalog của Databricks.
  • Đại diện cho một đơn vị logic trong quản lý quyền truy cập và phân tách dữ liệu.
  • Chứa schema, trong đó có table, view, volume, model, và function.

Ví dụ: Catalog có tên sales_data có thể chứa các schema như customer_info, order_details, product_inventory.

Schema

  • Là tập hợp các đối tượng cơ sở dữ liệu như bảng (table), chế độ xem (view), và hàm (function) trong một catalog.
  • Giúp tổ chức dữ liệu thành các nhóm logic và quản lý quyền truy cập chi tiết hơn.

Delta Table Bảng lưu trữ theo định dạng Delta Lake, cung cấp:

  • Giao dịch ACID (Atomicity, Consistency, Isolation, Durability).
  • Quản lý metadata mở rộng.
  • Xử lý dữ liệu hàng loạt và dữ liệu luồng thống nhất.
  • Time Travel: Truy vấn phiên bản trước của dữ liệu để kiểm tra hoặc phân tích lịch sử.

Data Table

  • Là bảng tiêu chuẩn để lưu trữ dữ liệu có cấu trúc trong Databricks.
  • Hỗ trợ các định dạng như Parquet, ORC, JSON, v.v.
  • Dùng để lưu trữ và truy vấn dữ liệu có cấu trúc phục vụ phân tích và báo cáo.

Workflow

  • Là trình tự công việc bao gồm nhiều tác vụ xử lý dữ liệu.
  • Có thể được định nghĩa qua giao diện UI hoặc lập trình.
  • Hỗ trợ điều phối pipeline dữ liệu, phân tích BI và tác vụ AI.

Magic Commands Cung cấp các lệnh đặc biệt trong notebook Databricks như:

  • %python: Chạy mã Python.
  • %sql: Chạy truy vấn SQL.
  • %md: Viết markdown.

Cluster trong Databricks

Cluster là tập hợp tài nguyên điện toán (VM) để chạy notebook và job Spark. Databricks cung cấp các loại cluster khác nhau để phù hợp với nhiều nhu cầu sử dụng:

Các loại Cluster:

  • Interactive Cluster: Dùng cho phân tích dữ liệu tự do (ad-hoc analysis).
  • Job Cluster: Dùng để chạy các job theo lịch trình.
  • High-Concurrency Cluster: Dùng cho nhiều người dùng truy cập cùng lúc.
  • Single-Node Cluster: Dùng cho thử nghiệm hoặc tải nhỏ.

Hy vọng thông tin trong bài viết này hữu ích đối với các bạn!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí