Delta Lake là lớp lưu trữ được tối ưu hóa cung cấp nền tảng để lưu trữ dữ liệu và bảng trong Nền tảng Databricks Lakehouse.
Delta lake là gì?
Delta Lake là một định dạng bảng nguồn mở cung cấp tính nhất quán trong giao dịch và tăng quy mô cho các tập dữ liệu bằng cách tạo ra một định nghĩa nhất quán về các tập dữ liệu và bao gồm các thay đổi tiến hóa lược đồ và đột biến dữ liệu. Với Delta Lake, các bản cập nhật cho bộ dữ liệu được xem một cách nhất quán trên mọi ứng dụng sử dụng bộ dữ liệu và người dùng sẽ không nhìn thấy chế độ xem dữ liệu không nhất quán trong quá trình chuyển đổi. Điều này tạo ra một cái nhìn nhất quán và đáng tin cậy về các tập dữ liệu trong hồ dữ liệu khi chúng được cập nhật và phát triển. Tính nhất quán của dữ liệu được bật bằng cách tạo một loạt tệp kê khai xác định lược đồ và dữ liệu cho một thời điểm nhất định cũng như nhật ký giao dịch xác định bản ghi theo thứ tự của mọi giao dịch trên tập dữ liệu. Bằng cách đọc nhật ký giao dịch và tệp kê khai, các ứng dụng được đảm bảo nhìn thấy chế độ xem dữ liệu nhất quán tại bất kỳ thời điểm nào và người dùng có thể đảm bảo các thay đổi trung gian không hiển thị cho đến khi thao tác ghi hoàn tất.
5 lý do bạn nên chuyển đổi Cloud Data Lake thành Delta Lake
Dưới đây là 5 lý do bạn nên triển khai Delta Lake thay vì Cloud Data Lake
Ngăn chặn tham nhũng dữ liệu
Delta Lake được thiết kế ngay từ đầu để đáp ứng nhu cầu lưu trữ blob cũng như tính nhất quán và chất lượng dữ liệu cuối cùng đi kèm với nó. Nếu một công việc ETL không thành công đối với bảng Delta Lake trước khi hoàn thành đầy đủ, nó sẽ không làm hỏng bất kỳ truy vấn nào. Mỗi truy vấn SQL sẽ luôn đề cập đến trạng thái nhất quán của bảng. Điều này cho phép kỹ sư dữ liệu doanh nghiệp khắc phục sự cố tại sao công việc ETL có thể bị lỗi, sửa nó và chạy lại mà không cần phải lo lắng về việc cảnh báo người dùng, xóa các tệp được ghi một phần hoặc điều chỉnh về trạng thái trước đó.
Truy vấn nhanh hơn
Delta Lake có một số thuộc tính có thể thực hiện cùng một truy vấn nhanh hơn nhiều so với sàn gỗ thông thường. Thay vì thực hiện thao tác LIST tốn kém trên bộ lưu trữ blob cho mỗi truy vấn, vốn là điều mà trình đọc Parquet thông thường sẽ làm, nhật ký giao dịch Delta đóng vai trò là bảng kê khai. Nhật ký giao dịch không chỉ theo dõi tên tệp Parquet mà còn tập trung số liệu thống kê của chúng. Đây là các giá trị tối thiểu và tối đa của mỗi cột được tìm thấy ở chân trang tệp Parquet. Điều này cho phép Delta Lake bỏ qua quá trình nhập tệp nếu có thể xác định rằng chúng không khớp với vị từ truy vấn.
Làm mới dữ liệu
Nhiều Hồ dữ liệu Parquet được làm mới hàng ngày, đôi khi hàng giờ, nhưng hiếm khi hàng phút. Đôi khi điều này được liên kết với nội dung của một tập hợp, nhưng điều này thường là do những thách thức kỹ thuật trong việc có thể truyền dữ liệu thời gian thực vào hồ dữ liệu. Delta Lake được thiết kế ngay từ đầu để đáp ứng cả các trường hợp sử dụng nhập theo đợt và theo luồng. Bằng cách tận dụng Truyền phát có cấu trúc với Delta Lake, bạn sẽ tự động có được điểm kiểm tra tích hợp khi chuyển đổi dữ liệu từ Bảng Delta này sang Bảng Delta khác. Chỉ với một lần thay đổi cấu hình của Trình kích hoạt, quá trình nhập có thể được thay đổi từ hàng loạt sang phát trực tuyến.
Tái tạo mô hình ML
Để cải thiện mô hình học máy, trước tiên nhà khoa học dữ liệu phải tái tạo kết quả của mô hình. Điều này có thể đặc biệt khó khăn nếu nhà khoa học dữ liệu đào tạo mô hình đó đã rời công ty. Điều này đòi hỏi phải sử dụng cùng một logic, tham số, thư viện và môi trường. Databricks đã phát triển MLflow vào năm 2018 để giải quyết vấn đề này. Yếu tố khác cần được theo dõi về khả năng tái tạo là tập dữ liệu huấn luyện và kiểm tra. Tính năng Du hành thời gian cho phép khả năng truy vấn dữ liệu tại một thời điểm nhất định bằng cách sử dụng phiên bản dữ liệu. Vì vậy, bạn có thể tái tạo kết quả của mô hình học máy bằng cách đào tạo lại mô hình đó với cùng một dữ liệu mà không cần sao chép dữ liệu.
Đạt được sự tuân thủ
Các luật mới như GDPR và CCPA yêu cầu các công ty có thể xóa dữ liệu liên quan đến khách hàng nếu cá nhân đó đưa ra yêu cầu. Việc xóa hoặc cập nhật dữ liệu trong Parquet Data Lake thông thường đòi hỏi nhiều tính toán. Tất cả các tệp liên quan đến dữ liệu cá nhân được yêu cầu phải được xác định, nhập, lọc, ghi ra dưới dạng tệp mới và xóa các tệp gốc. Điều này phải được thực hiện theo cách không làm gián đoạn hoặc làm hỏng các truy vấn trên bảng.
Cách thiết lập, triển khai Delta Lake trên Databricks
Điều kiện tiên quyết
Tài khoản Amazon Web Services (AWS) có triển khai Delta Lake trên Databricks (AWS). Hướng dẫn định cấu hình triển khai Delta Lake trên Databricks (AWS) nằm ngoài phạm vi của bài viết này; hướng dẫn của chúng tôi giả định rằng bạn đã thiết lập và chạy Delta Lake trên Databricks (AWS). Tham khảo tài liệu Databricks . Bộ chứa Amazon S3 hiện có đó là:
- Trong cùng tài khoản AWS với việc triển khai Delta Lake trên Databricks.
- Trong cùng khu vực với tài khoản Trình tải dữ liệu của bạn.
- Quyền quản lý nhóm S3 trong AWS
- Người dùng AWS phải có khả năng thêm và sửa đổi các chính sách bộ chứa trong tài khoản AWS hoặc các tài khoản nơi triển khai bộ chứa S3 và Databricks.
- Tài khoản AWS phải có sự cho phép từ DatabricksRolePolicy.
- Để kết nối với nhóm S3, nó phải có sự cho phép của databricks-s3-access.
- Bạn có quyền truy cập vào không gian làm việc có sẵn trong Databricks.
- Bạn có quyền đối với một cụm và cơ sở dữ liệu (lược đồ) có liên quan mà bạn muốn đọc từ Workspace đã được tạo .
- URL không gian làm việc của Databricks ở định dạng: <deployment name>.cloud.databricks.com
- Bạn có quyền truy cập vào một hoặc nhiều cụm Databricks để hỗ trợ các hoạt động trên các bảng Delta Lake của mình.
- Thông tin xác thực cơ sở dữ liệu (tên máy chủ, cổng và đường dẫn HTTP), WorkspaceID và Mã thông báo truy cập cá nhân (PAT) của phiên bản Databricks.
- Định cấu hình Delta Lake trên Databricks làm đích đến Khi các điều kiện tiên quyết đã được đáp ứng, hãy thực hiện các bước sau để định cấu hình Delta Lake trên Databricks làm Đích:
Bước 1: Định cấu hình quyền truy cập vùng lưu trữ S3 trong AWS
Ghi chú: Vùng lưu trữ S3 bạn sử dụng phải ở cùng khu vực với tài khoản Trình tải dữ liệu của bạn. Sử dụng một thùng ở khu vực khác sẽ dẫn đến lỗi. Cấp quyền truy cập cho Trình tải dữ liệu vào vùng lưu trữ Amazon S3 Để cho phép Trình tải dữ liệu truy cập vào vùng lưu trữ S3, bạn sẽ cần thêm chính sách vùng lưu trữ bằng bảng điều khiển AWS. Làm theo hướng dẫn trong tab bên dưới để thêm chính sách nhóm. Đăng nhập vào tài khoản Amazon Web Services (AWS) của bạn với tư cách là người dùng có các đặc quyền cho phép bạn quản lý nhóm S3. Nhấp vào Dịch vụ gần góc trên bên trái của trang. Trong tùy chọn Lưu trữ , nhấp vào S3 . Một trang liệt kê tất cả các nhóm hiện đang được sử dụng sẽ hiển thị. Nhấp vào tên của nhóm sẽ được sử dụng với Databricks. Nhấp vào tab Quyền . Trong tab Quyền , nhấp vào nút Chỉnh sửa trong phần Chính sách nhóm . Trong trình chỉnh sửa chính sách nhóm, hãy dán chính sách nhóm cho vùng đường dẫn dữ liệu của Trình tải dữ liệu và thay thế <YOUR-BUCKET-NAME> bằng tên của nhóm S3 của bạn. Khi hoàn tất, hãy nhấp vào Lưu . Cấp quyền truy cập Databricks vào bộ chứa Amazon S3 Tiếp theo, bạn sẽ định cấu hình tài khoản AWS của mình để cho phép truy cập từ Databricks bằng cách tạo chính sách và vai trò IAM. Điều này là bắt buộc để hoàn tất việc tải dữ liệu vào Delta Lake trên Databricks (AWS). Thực hiện theo các bước 1-4 trong tài liệu Databricks để tạo chính sách và vai trò IAM cho Databricks. ### Bước 2: Kết nối kho Databricks của bạn Tùy chọn 1: Tạo cụm Databricks
- Đăng nhập vào tài khoản Databricks của bạn .
- Trong bảng điều khiển Databricks, đi tới Khoa học & Kỹ thuật dữ liệu → Tạo → Cụm .
- Nhập tên Cụm theo lựa chọn của bạn.
- Trong trường Phiên bản thời gian chạy Databricks , chọn một phiên bản Thời gian chạy được hỗ trợ . Điều này là bắt buộc để Databricks Delta Lake (AWS) hoạt động với Trình tải dữ liệu:
- Mở rộng phần Tùy chọn nâng cao và chọn tab Spark . Trong hộp Spark Config , dán đoạn mã sau để chỉ định các cấu hình cần thiết để đọc dữ liệu từ tài khoản S3 của bạn: spark.sql.legacy.allowCreatingManagedTableUsingNonemptyLocation true Khi hoàn tất, hãy nhấp vào Tạo cụm để tạo cụm của bạn. Tùy chọn 2: Tạo điểm cuối SQL Databricks
- Đăng nhập vào tài khoản Databricks của bạn .
- Trong bảng điều khiển Databricks, chọn SQL từ trình đơn thả xuống.
- Nhấp vào Tạo → Điểm cuối SQL .
- Trong cửa sổ Điểm cuối SQL mới :
- Chỉ định tên cho điểm cuối.
- Chọn Kích thước cụm của bạn .
- Định cấu hình các tùy chọn điểm cuối khác, theo yêu cầu.
- Nhấp vào Tạo . ### Bước 3: Nhận thông tin đăng nhập Databricks Sau khi có cụm muốn tải dữ liệu vào, bạn phải lấy thông tin chi tiết về cụm được cung cấp trong khi định cấu hình Databricks trong Trình tải dữ liệu. Để làm điều này: Nhấp vào Tính toán trong thanh điều hướng bên trái của bảng điều khiển Databricks. Bấm vào cụm bạn muốn sử dụng. Trong tab Cấu hình, cuộn xuống cửa sổ Tùy chọn nâng cao và chọn JDBC/ODBC . Ghi lại các giá trị sau. Bạn sẽ cần chúng để cấu hình trong giao diện người dùng.
- Tên máy chủ
- Hải cảng
- Đường dẫn HTTP ### Bước 4: Tạo mã thông báo truy cập Trong bảng điều khiển Databricks , nhấp vào Cài đặt trong thanh điều hướng bên trái, sau đó nhấp vào Cài đặt người dùng . Nhấp vào tab Mã thông báo truy cập . Nhấp vào Tạo mã thông báo mới . Tùy chọn cung cấp mô tả Nhận xét và Thời gian tồn tại của mã thông báo (Thời gian hết hạn). Nhấp vào Tạo . Sao chép mã thông báo được tạo. Mã thông báo này sẽ được sử dụng để kết nối Databricks làm Đích trong Trình tải dữ liệu dưới dạng tên người dùng thay thế. Ghi chú:Để tìm hiểu thêm về mã thông báo truy cập cá nhân Databricks, hãy đọc Cách tạo mã thông báo Databricks mới . ### Bước 5: Nhận WorkspaceID Đăng nhập vào tài khoản Databricks của bạn . Bạn sẽ thấy trong thanh tìm kiếm của trình duyệt một URL trông giống như thế này: https://XXX-XXXXXXX-XXXX.cloud.databricks.com Đâu XXX-XXXXXXX-XXXXlà một dãy chữ cái và số cách nhau bằng dấu gạch ngang. Phần URL này là Databricks WorkspaceID của bạn . ### Bước 6: Lấy cơ sở dữ liệu Trong Databricks, cơ sở dữ liệu là một tập hợp các bảng. Các bảng này có thể được truy vấn bằng Spark API và Spark SQL. Để biết thêm thông tin, hãy đọc Cơ sở dữ liệu và bảng trong tài liệu Databricks. Để tạo cơ sở dữ liệu, hãy mở sổ ghi chép Databricks mới hoặc hiện có: Trong sổ ghi chép, chạy CREATE DATABASElệnh. Để tìm hiểu thêm về lệnh, bao gồm thông tin tham số cụ thể, hãy đọc Tạo cơ sở dữ liệu trong tài liệu Databricks.
Bước 7: Kết nối với Databricks
Bước tiếp theo là kết nối với Databricks trong Trình tải dữ liệu. Vui lòng đọc Kết nối với Databricks trong tài liệu Databricks.
TÌM HIỂU THÊM TẠI: https://inda.vn/category/databricks/