Vậy là bạn vừa nghe nói về Databricks Unity Catalog. Và giờ bạn đang tự hỏi nó là gì và đóng vai trò thế nào trong quản trị dữ liệu hiện đại.
Bài hướng dẫn toàn diện này sẽ giới thiệu Databricks Unity Catalog và giúp bạn hiểu tầm quan trọng của nó trong phân tích dữ liệu trong hệ sinh thái dữ liệu hiện đại.
Databricks Unity Catalog là gì?
Databricks Unity Catalog là một dịch vụ quản trị dữ liệu thống nhất giúp đơn giản hóa và hợp lý hóa quản lý dữ liệu cho các khối lượng công việc phân tích. Nó tập hợp tất cả các loại siêu dữ liệu khác nhau được sử dụng bởi nhiều công cụ business intelligence, cơ sở dữ liệu, kho dữ liệu và hồ dữ liệu vào một vị trí trung tâm. Cách tiếp cận này thúc đẩy khả năng tương tác giữa các hệ thống, giúp dễ dàng tìm và truy cập dữ liệu có cấu trúc lẫn phi cấu trúc.
Khi các tổ chức mở rộng hoạt động dữ liệu, việc quản lý truy cập, quản trị và tuân thủ trên nhiều nền tảng dữ liệu trở nên phức tạp. Unity Catalog giải quyết thách thức này bằng cách cung cấp một lớp thống nhất cho siêu dữ liệu, kiểm soát truy cập và theo dõi nguồn gốc dữ liệu, qua đó giảm chi phí vận hành.
Cách quản trị dữ liệu tập trung này mang lại một số lợi ích khi chia sẻ các sản phẩm dữ liệu phổ biến như:
Các thành phần cốt lõi của Databricks Unity Catalog gồm có:
Metastore: Lớp lưu trữ siêu dữ liệu giúp đơn giản hóa khám phá dữ liệu và cải thiện truy vết nguồn gốc dữ liệu.
Catalog: Kho trung tâm để lưu trữ, quản lý và khám phá tài sản dữ liệu.
Schema: Mô hình dữ liệu dùng để tổ chức và quản lý tài sản dữ liệu trong Databricks Unity Catalog.
Granularity: Mức độ chi tiết trong việc theo dõi siêu dữ liệu. Nó cho phép nhóm quản lý truy cập ở nhiều cấp (catalog, schema, bảng, thậm chí cột), đảm bảo kiểm soát chi tiết tới từng phần tử dữ liệu.".
Bảng, view và volume: Đây là các đối tượng dữ liệu nền tảng trong Databricks Unity Catalog dùng để biểu diễn dữ liệu có cấu trúc và phi cấu trúc.
Nguồn gốc dữ liệu (Data lineage): Biểu diễn trực quan luồng dữ liệu từ nguồn đến đích, giúp theo dõi thay đổi và đảm bảo tính toàn vẹn dữ liệu.
Các thành phần này phối hợp để cung cấp một giải pháp quản trị dữ liệu toàn diện, đơn giản hóa quản lý dữ liệu và thúc đẩy cộng tác giữa các nhóm.
Lợi ích của Unity Catalog
Có một số lợi ích chính khi sử dụng Databricks Unity Catalog, như chúng tôi nêu dưới đây:
1. Quản trị dữ liệu và tuân thủ
Databricks Unity Catalog cung cấp một vị trí tập trung để lưu trữ và quản lý siêu dữ liệu, đảm bảo quản trị dữ liệu và tuân thủ trên các hệ thống khác nhau.
Ví dụ, Unity Catalog cung cấp cảnh báo khi có khả năng phát hiện PII trong các mô hình machine learning vận hành. Dòng nguồn gốc dữ liệu cho phép hoàn nguyên các mô hình này một cách dễ dàng.
Điều này giúp tổ chức duy trì tính toàn vẹn dữ liệu, tuân thủ quy định và giảm rủi ro.
2. Cộng tác và phân tích tự phục vụ
Unity Catalog thúc đẩy hợp tác giữa các nhóm bằng cách cung cấp vị trí trung tâm để lưu trữ tài sản dữ liệu. Điều này loại bỏ các “ốc đảo” dữ liệu và khuyến khích giao tiếp liên chức năng, thúc đẩy phân tích tự phục vụ.
Nhà phân tích dữ liệu và người dùng nghiệp vụ có thể dễ dàng khám phá và truy cập các tài sản dữ liệu phù hợp, giảm thời gian dành cho các tác vụ chuẩn bị dữ liệu.
Các trường hợp sử dụng chính của Unity Catalog
Có nhiều cách để triển khai Unity Catalog:
1. Kiểm soát truy cập dữ liệu và bảo mật
Databricks Unity Catalog cho phép tổ chức triển khai kiểm soát truy cập chi tiết cho tài sản dữ liệu, đảm bảo dữ liệu chỉ được truy cập bởi người dùng được ủy quyền. Nó cũng cho phép chia sẻ an toàn dữ liệu nhạy cảm giữa các nhóm.
2. Khám phá dữ liệu và nguồn gốc dữ liệu
Khả năng quản lý siêu dữ liệu của Unity Catalog cho phép khám phá dữ liệu hiệu quả và cung cấp biểu diễn trực quan luồng dữ liệu từ nguồn tới đích. Điều này giúp theo dõi thay đổi trong tập dữ liệu, hỗ trợ kiểm toán và khắc phục sự cố.
3. Hợp lý hóa tuân thủ và kiểm toán
Với kho lưu trữ tập trung cho tất cả tài sản dữ liệu và nguồn gốc của chúng, Unity Catalog đơn giản hóa báo cáo tuân thủ và quy trình kiểm toán. Điều này giảm thời gian và công sức cần thiết để đảm bảo tuân thủ quy định.
Cách bật Unity Catalog trong Databricks
Giờ hãy thử Unity Catalog qua hướng dẫn thiết lập đơn giản này:
Điều kiện tiên quyết
Trước khi bạn có thể bật và sử dụng Unity Catalog, hãy đảm bảo đáp ứng các yêu cầu sau:
Gói Databricks Premium hoặc Enterprise
Unity Catalog chỉ được hỗ trợ trên các gói Databricks Premium hoặc Enterprise. Hãy chắc chắn không gian làm việc Databricks của bạn sử dụng một trong các gói này.
Quyền phù hợp
Quản trị viên tài khoản (Account admin): Bạn phải có vai trò Account Admin trong Databricks để thiết lập và quản lý Unity Catalog ở cấp tài khoản.
Quản trị viên không gian làm việc (Workspace admin): Bạn nên là Workspace Admin trong không gian làm việc nơi muốn bật Unity Catalog.
Sẵn sàng Metastore
Unity Catalog yêu cầu một metastore ở cấp tài khoản. Nếu bạn chưa tạo, bạn sẽ cần tạo trong quá trình thiết lập. Với tài khoản dùng thử Databricks, một catalog kèm metastore đã được tạo sẵn cho bạn.
Nền tảng đám mây được hỗ trợ
Hiện tại, Unity Catalog được hỗ trợ trên:
AWS
Azure
GCP
Hãy đảm bảo bạn đang sử dụng môi trường Databricks được hỗ trợ trên một trong các đám mây này.
Lưu trữ do hệ thống quản lý hoặc vị trí bên ngoài
Quyết định xem bạn sẽ tận dụng bảng do hệ thống quản lý (managed storage) hay tạo bảng bên ngoài tham chiếu dữ liệu ở vị trí ngoài (như S3, ADLS hoặc GCS). Mỗi cách tiếp cận có thể có yêu cầu cấp quyền khác nhau.
Bật Unity Catalog: Hướng dẫn từng bước
Điều hướng cài đặt Databricks
Đăng nhập vào bảng điều khiển tài khoản Databricks
Đi tới Databricks Account Console (URL có thể hơi khác cho AWS, Azure hoặc GCP). Sử dụng tài khoản quản trị để đăng nhập.
Truy cập trang Catalog
Trong bảng điều hướng bên trái (trong bảng điều khiển tài khoản), tìm Catalog tùy theo phiên bản Databricks của bạn.
Trong phiên bản dùng thử Databricks, một metastore và catalog cho Serverless Starter Warehouse sẽ được tạo sẵn.
Khởi động tác vụ tính toán SQL warehouse
Trong bảng điều hướng bên trái, chọn SQL Warehouses, rồi khởi động Serverless Starter Warehouse bằng cách nhấp vào biểu tượng Play ở bên phải.
Gán cho các không gian làm việc
Trong phần Workspaces của cấu hình Catalog, đính kèm các không gian làm việc sẽ sử dụng catalog này.
Cấu hình Unity Catalog
Gán quyền
Với tư cách quản trị viên, điều hướng tới Catalog ở thanh bên trái trong không gian làm việc Databricks của bạn.
Chọn không gian làm việc bạn muốn quản lý.
Nhấp vào thẻ Permissions để thiết lập quyền (ví dụ: ai có thể tạo catalog, schema và bảng). Theo mặc định, quản trị viên tài khoản hoặc quản trị viên không gian làm việc có thể có đầy đủ đặc quyền, nhưng bạn có thể ủy quyền cho người dùng hoặc nhóm khác.
Tạo Catalog và Schema (nếu cần)
Bạn có thể tạo thêm catalog và schema cho các nhóm, dự án hoặc miền dữ liệu khác nhau. Việc này thường thực hiện qua lệnh SQL (hiển thị bên dưới).
-- Creates a new catalog named "demo_catalog"CREATE CATALOG IFNOTEXISTS demo_catalog
COMMENT'This catalog is created for Unity Catalog demo';Được hỗ trợ bởi
Cấu hình vị trí bên ngoài (tùy chọn)Nếu bạn cần các bảng bên ngoài được lưu ở vị trí bên ngoài:
Tạo một vị trí bên ngoài trong Unity Catalog trỏ tới lưu trữ đám mây của bạn (S3, ADLS hoặc GCS).
Cấp quyền đọc và ghi vào các vị trí này cho người dùng hoặc nhóm thông qua Unity Catalog.
Mẫu mã và cách sử dụng
Dưới đây là một số notebook/lệnh SQL mẫu của Databricks mà bạn có thể sử dụng khi Unity Catalog đã được cấu hình trong không gian làm việc của bạn.
Bạn có thể chạy chúng trong notebook Databricks hoặc SQL Editor trong không gian làm việc của mình.
Cấp đặc quyền trên một catalog
Việc cấp đặc quyền trên một catalog đảm bảo các nhóm người dùng cụ thể có thể truy cập và tương tác với dữ liệu được lưu trữ trong đó. Tuy nhiên, chỉ riêng USAGE không cho phép người dùng truy vấn dữ liệu — nó chỉ giúp họ thấy catalog tồn tại. Để cho phép tương tác đầy đủ, bạn cần cấp thêm đặc quyền ở cấp schema hoặc bảng.
Ví dụ, để cho phép kỹ sư dữ liệu truy cập một catalog:
-- Grant USAGE to a specific group on the newly created catalogGRANTUSAGEON CATALOG demo_catalog TO data_engineers_group;Được hỗ trợ bởi
Nếu họ cũng cần tạo schema trong catalog này:
GRANTCREATEON CATALOG demo_catalog TO data_engineers_group;Được hỗ trợ bởi
Tạo một schema (cơ sở dữ liệu) trong catalog
Schema trong Unity Catalog tổ chức các bảng và view trong một catalog, tương tự như cách cơ sở dữ liệu chứa các bảng trong hệ quản trị RDBMS truyền thống. Sử dụng IF NOT EXISTS để tránh lỗi nếu schema đã tồn tại.
Để tạo một schema cho dữ liệu phân tích bên trong demo_catalog:
CREATESCHEMAIFNOTEXISTS demo_catalog.analytics
COMMENT'Schema for analytics data';Được hỗ trợ bởi
Sau khi tạo, bạn có thể cần cấp đặc quyền cho người dùng cụ thể:
GRANTUSAGEONSCHEMA demo_catalog.analytics TO data_analysts_group;Được hỗ trợ bởi
Điều này cho phép data_analysts_group nhìn thấy schema nhưng chưa thể truy vấn các bảng của nó.
Tạo một bảng do hệ thống quản lý
Bảng do hệ thống quản lý được Unity Catalog kiểm soát hoàn toàn, nghĩa là Databricks xử lý lưu trữ và theo dõi siêu dữ liệu. Điều này đơn giản hóa quản lý nhưng cũng đồng nghĩa dữ liệu sẽ bị xóa nếu bảng bị drop.
Để tạo một bảng do hệ thống quản lý cho dữ liệu bán hàng:
USE CATALOG demo_catalog;USESCHEMA analytics;CREATETABLEIFNOTEXISTS sales_data (
transaction_id STRING,
product_id STRING,
quantity INT,
price DECIMAL(10,2),
transaction_date DATE)COMMENT'Managed table for sales data';Được hỗ trợ bởi
Cấp đặc quyền trên một bảng
Cấp đặc quyền trên bảng đảm bảo người dùng có thể truy vấn hoặc sửa đổi dữ liệu. Đặc quyền SELECT cho phép người dùng đọc dữ liệu nhưng không thể sửa đổi.
Để cho phép nhà khoa học dữ liệu đọc từ bảng bán hàng:
GRANTSELECTONTABLE demo_catalog.analytics.sales_data TO data_scientists_group;Được hỗ trợ bởi
Nếu họ cần chèn bản ghi mới, hãy cấp INSERT:
GRANTINSERTONTABLE demo_catalog.analytics.sales_data TO data_scientists_group;Được hỗ trợ bởi
Để có toàn quyền (đọc, ghi, sửa đổi), sử dụng:
GRANTALLPRIVILEGESONTABLE demo_catalog.analytics.sales_data TO data_scientists_group;Được hỗ trợ bởi
Thiết lập vị trí bên ngoài
Nếu bạn có vị trí dữ liệu bên ngoài (ví dụ: S3 trên AWS), bạn có thể tạo một đối tượng vị trí bên ngoài trong Unity Catalog:
-- Create an external location named "demo_external_location"CREATE EXTERNAL LOCATION demo_external_location
URL 's3://my-demo-bucket/my-path/'WITH CREDENTIAL my_storage_credential
COMMENT'External location for demo data';-- Grant read and write privileges to a groupGRANTREAD,WRITEON EXTERNAL LOCATION demo_external_location
TO data_engineers_group;Được hỗ trợ bởi
Kiến trúc Databricks Unity Catalog
Databricks Unity Catalog được xây dựng trên dự án mã nguồn mở Apache Spark, vốn cung cấp nền tảng tính toán phân tán cho xử lý dữ liệu quy mô lớn. Nó sử dụng Hive Metastore để lưu siêu dữ liệu về tập dữ liệu và bảng, cho phép quản lý hiệu quả và hiệu năng truy vấn tốt.
Kiến trúc của Unity Catalog gồm ba thành phần chính:
Kho siêu dữ liệu (Metadata Store): Thành phần này lưu toàn bộ siêu dữ liệu liên quan đến tập dữ liệu, bảng, vị trí bên ngoài và các đối tượng khác.
Catalog: Thành phần này đóng vai trò giao diện giữa Metadata Store và lớp tính toán. Nó cung cấp một cái nhìn thống nhất về tất cả siêu dữ liệu được lưu trong Metadata Store, giúp người dùng dễ dàng truy cập và truy vấn dữ liệu.
Workspaces: Workspaces là các không gian lưu trữ ảo nơi dữ liệu có thể được lưu trữ và quản lý an toàn. Chúng cho phép cộng tác dễ dàng giữa các nhóm bằng cách cung cấp vị trí trung tâm để truy cập và thao tác dữ liệu.
Với Databricks Unity Catalog, người dùng có thể dễ dàng quản lý và truy vấn dữ liệu mà không phải lo về hạ tầng nền. Họ cũng có thể cộng tác với thành viên khác bằng cách cấp cho họ các quyền cụ thể, như quyền đọc và ghi, đối với các tập dữ liệu hoặc bảng khác nhau.
Để cấp các quyền này, người dùng có thể sử dụng các lệnh SQL như "GRANT" để chỉ định người dùng hoặc nhóm nào có thể truy cập dữ liệu nhất định. Điều này đảm bảo chỉ những người được ủy quyền mới có quyền truy cập thông tin nhạy cảm.
Unity Catalog tích hợp với các hệ thống dữ liệu hiện có như thế nào
Unity Catalog tích hợp liền mạch với các hệ thống dữ liệu hiện có như Amazon S3 và Azure Blob Storage, giúp dễ dàng truy cập và quản lý dữ liệu từ nhiều nguồn. Điều này cho phép người dùng nhanh chóng phân tích các tập dữ liệu lớn mà không phải di chuyển hay sao chép thủ công dữ liệu vào Databricks.
Unity Catalog cũng hỗ trợ nhiều định dạng tệp như CSV, JSON, Parquet và Avro, cho phép linh hoạt khi làm việc với các loại dữ liệu khác nhau.
Thực hành tốt nhất với Databricks Unity Catalog
Khi làm việc với Unity Catalog, có một số thực hành tốt nhất giúp đảm bảo quản lý dữ liệu hiệu quả.
Bao gồm:
Sử dụng quy ước đặt tên mô tả cho bảng và cột để giúp dễ hiểu dữ liệu hơn.
Thường xuyên cập nhật siêu dữ liệu trong Unity Catalog để theo dõi mọi thay đổi với dữ liệu nền.
Tận dụng kiểm soát truy cập để hạn chế truy cập dữ liệu nhạy cảm, theo nguyên tắc "đặc quyền tối thiểu". Điều này nghĩa là chỉ cấp các quyền cần thiết cho người dùng hoặc nhóm dựa trên vai trò và trách nhiệm của họ.
Sử dụng thẻ và nhãn để phân loại và tổ chức tập dữ liệu trong Unity Catalog, giúp dễ tìm kiếm dữ liệu cụ thể.
Những biện pháp này sẽ giúp đảm bảo quản trị dữ liệu hiệu quả và hiệu năng tối ưu.
Những thách thức thường gặp và cách giải quyết
Unity Catalog không phải là giải pháp “chống đạn” và có thể đối mặt với một số thách thức trong quản lý dữ liệu hiệu quả.
Một số vấn đề phổ biến gồm:
Trùng lặp dữ liệu: Xảy ra khi cùng một dữ liệu được lưu nhiều lần, dẫn đến không nhất quán và lỗi.
Chất lượng dữ liệu: Dữ liệu được bảo trì kém hoặc không chính xác có thể ảnh hưởng đến quyết định và quy trình kinh doanh.
Phân cấp dữ liệu phức tạp: Các tập dữ liệu lớn với mối quan hệ phức tạp có thể khó tổ chức và quản lý trong Unity Catalog.
Để giải quyết các thách thức này, dưới đây là một số mẹo:
Thường xuyên rà soát và dọn dẹp dữ liệu để tránh trùng lặp. Bao gồm việc loại bỏ dữ liệu không cần thiết hoặc lỗi thời.
Triển khai kiểm tra và xác thực chất lượng dữ liệu để đảm bảo độ chính xác của dữ liệu trong Unity Catalog.
Kết luận
Unity Catalog là một công cụ mạnh mẽ để quản lý dữ liệu trong một giao diện thống nhất thông qua việc sử dụng metastore, catalog và workspace. Nó cung cấp vị trí tập trung để lưu trữ và tổ chức dữ liệu, giúp bạn dễ quản lý và khai thác trong các quy trình kinh doanh.
Sự khác biệt giữa Unity Catalog và Hive Metastore trên Databricks là gì?⌄
Unity Catalog là một dịch vụ siêu dữ liệu hợp nhất cung cấp lựa chọn hiệu quả và khả năng mở rộng cao hơn so với Hive Metastore truyền thống trên Databricks. Nó cung cấp một nguồn sự thật duy nhất cho mọi nhu cầu siêu dữ liệu và cho phép quản lý, truy cập dễ dàng hơn.
Tôi có thể dùng Unity Catalog với nguồn dữ liệu không thuộc Databricks không?⌄
Có, Unity Catalog hỗ trợ cả bảng do Databricks quản lý và bảng bên ngoài, cho phép bạn dễ dàng tích hợp siêu dữ liệu từ nhiều nguồn vào một nơi. Tuy nhiên, có thể tồn tại một số hạn chế.
Unity Catalog cải thiện hiệu năng như thế nào?⌄
Bằng cách cung cấp kho siêu dữ liệu tập trung, Unity Catalog loại bỏ nhu cầu truy vấn thường xuyên tới các hệ thống bên ngoài, dẫn đến thời gian thực thi truy vấn nhanh hơn.
Tôi là Austin, một blogger và cây bút công nghệ với nhiều năm kinh nghiệm làm nhà khoa học dữ liệu và nhà phân tích dữ liệu trong lĩnh vực chăm sóc sức khỏe. Khởi đầu hành trình công nghệ với nền tảng sinh học, tôi hiện hỗ trợ những người khác thực hiện chuyển đổi tương tự thông qua blog công nghệ của mình. Niềm đam mê công nghệ đã đưa tôi đến với việc cộng tác viết cho hàng chục công ty SaaS, truyền cảm hứng cho người khác và chia sẻ trải nghiệm của bản thân.
Vậy là bạn vừa nghe nói về Databricks Unity Catalog. Và giờ bạn đang tự hỏi nó là gì và đóng vai trò thế nào trong quản trị dữ liệu hiện đại.
Bài hướng dẫn toàn diện này sẽ giới thiệu Databricks Unity Catalog và giúp bạn hiểu tầm quan trọng của nó trong phân tích dữ liệu trong hệ sinh thái dữ liệu hiện đại.
Databricks Unity Catalog là gì?
Databricks Unity Catalog là một dịch vụ quản trị dữ liệu thống nhất giúp đơn giản hóa và hợp lý hóa quản lý dữ liệu cho các khối lượng công việc phân tích. Nó tập hợp tất cả các loại siêu dữ liệu khác nhau được sử dụng bởi nhiều công cụ business intelligence, cơ sở dữ liệu, kho dữ liệu và hồ dữ liệu vào một vị trí trung tâm. Cách tiếp cận này thúc đẩy khả năng tương tác giữa các hệ thống, giúp dễ dàng tìm và truy cập dữ liệu có cấu trúc lẫn phi cấu trúc.
Khi các tổ chức mở rộng hoạt động dữ liệu, việc quản lý truy cập, quản trị và tuân thủ trên nhiều nền tảng dữ liệu trở nên phức tạp. Unity Catalog giải quyết thách thức này bằng cách cung cấp một lớp thống nhất cho siêu dữ liệu, kiểm soát truy cập và theo dõi nguồn gốc dữ liệu, qua đó giảm chi phí vận hành.
Cách quản trị dữ liệu tập trung này mang lại một số lợi ích khi chia sẻ các sản phẩm dữ liệu phổ biến như:
Các thành phần cốt lõi của Databricks Unity Catalog gồm có:
Các thành phần này phối hợp để cung cấp một giải pháp quản trị dữ liệu toàn diện, đơn giản hóa quản lý dữ liệu và thúc đẩy cộng tác giữa các nhóm.
Lợi ích của Unity Catalog
Có một số lợi ích chính khi sử dụng Databricks Unity Catalog, như chúng tôi nêu dưới đây:
1. Quản trị dữ liệu và tuân thủ
Databricks Unity Catalog cung cấp một vị trí tập trung để lưu trữ và quản lý siêu dữ liệu, đảm bảo quản trị dữ liệu và tuân thủ trên các hệ thống khác nhau.
Ví dụ, Unity Catalog cung cấp cảnh báo khi có khả năng phát hiện PII trong các mô hình machine learning vận hành. Dòng nguồn gốc dữ liệu cho phép hoàn nguyên các mô hình này một cách dễ dàng.
Điều này giúp tổ chức duy trì tính toàn vẹn dữ liệu, tuân thủ quy định và giảm rủi ro.
2. Cộng tác và phân tích tự phục vụ
Unity Catalog thúc đẩy hợp tác giữa các nhóm bằng cách cung cấp vị trí trung tâm để lưu trữ tài sản dữ liệu. Điều này loại bỏ các “ốc đảo” dữ liệu và khuyến khích giao tiếp liên chức năng, thúc đẩy phân tích tự phục vụ.
Nhà phân tích dữ liệu và người dùng nghiệp vụ có thể dễ dàng khám phá và truy cập các tài sản dữ liệu phù hợp, giảm thời gian dành cho các tác vụ chuẩn bị dữ liệu.
Các trường hợp sử dụng chính của Unity Catalog
Có nhiều cách để triển khai Unity Catalog:
1. Kiểm soát truy cập dữ liệu và bảo mật
Databricks Unity Catalog cho phép tổ chức triển khai kiểm soát truy cập chi tiết cho tài sản dữ liệu, đảm bảo dữ liệu chỉ được truy cập bởi người dùng được ủy quyền. Nó cũng cho phép chia sẻ an toàn dữ liệu nhạy cảm giữa các nhóm.
2. Khám phá dữ liệu và nguồn gốc dữ liệu
Khả năng quản lý siêu dữ liệu của Unity Catalog cho phép khám phá dữ liệu hiệu quả và cung cấp biểu diễn trực quan luồng dữ liệu từ nguồn tới đích. Điều này giúp theo dõi thay đổi trong tập dữ liệu, hỗ trợ kiểm toán và khắc phục sự cố.
3. Hợp lý hóa tuân thủ và kiểm toán
Với kho lưu trữ tập trung cho tất cả tài sản dữ liệu và nguồn gốc của chúng, Unity Catalog đơn giản hóa báo cáo tuân thủ và quy trình kiểm toán. Điều này giảm thời gian và công sức cần thiết để đảm bảo tuân thủ quy định.
Cách bật Unity Catalog trong Databricks
Giờ hãy thử Unity Catalog qua hướng dẫn thiết lập đơn giản này:
Điều kiện tiên quyết
Trước khi bạn có thể bật và sử dụng Unity Catalog, hãy đảm bảo đáp ứng các yêu cầu sau:
Gói Databricks Premium hoặc Enterprise
Unity Catalog chỉ được hỗ trợ trên các gói Databricks Premium hoặc Enterprise. Hãy chắc chắn không gian làm việc Databricks của bạn sử dụng một trong các gói này.
Quyền phù hợp
Sẵn sàng Metastore
Unity Catalog yêu cầu một metastore ở cấp tài khoản. Nếu bạn chưa tạo, bạn sẽ cần tạo trong quá trình thiết lập. Với tài khoản dùng thử Databricks, một catalog kèm metastore đã được tạo sẵn cho bạn.
Nền tảng đám mây được hỗ trợ
Hiện tại, Unity Catalog được hỗ trợ trên:
Hãy đảm bảo bạn đang sử dụng môi trường Databricks được hỗ trợ trên một trong các đám mây này.
Lưu trữ do hệ thống quản lý hoặc vị trí bên ngoài
Quyết định xem bạn sẽ tận dụng bảng do hệ thống quản lý (managed storage) hay tạo bảng bên ngoài tham chiếu dữ liệu ở vị trí ngoài (như S3, ADLS hoặc GCS). Mỗi cách tiếp cận có thể có yêu cầu cấp quyền khác nhau.
Bật Unity Catalog: Hướng dẫn từng bước
Điều hướng cài đặt Databricks
Cấu hình Unity Catalog
Mẫu mã và cách sử dụng
Dưới đây là một số notebook/lệnh SQL mẫu của Databricks mà bạn có thể sử dụng khi Unity Catalog đã được cấu hình trong không gian làm việc của bạn.
Bạn có thể chạy chúng trong notebook Databricks hoặc SQL Editor trong không gian làm việc của mình.
Cấp đặc quyền trên một catalog
Việc cấp đặc quyền trên một catalog đảm bảo các nhóm người dùng cụ thể có thể truy cập và tương tác với dữ liệu được lưu trữ trong đó. Tuy nhiên, chỉ riêng
USAGEkhông cho phép người dùng truy vấn dữ liệu — nó chỉ giúp họ thấy catalog tồn tại. Để cho phép tương tác đầy đủ, bạn cần cấp thêm đặc quyền ở cấp schema hoặc bảng.Ví dụ, để cho phép kỹ sư dữ liệu truy cập một catalog:
Nếu họ cũng cần tạo schema trong catalog này:
Tạo một schema (cơ sở dữ liệu) trong catalog
Schema trong Unity Catalog tổ chức các bảng và view trong một catalog, tương tự như cách cơ sở dữ liệu chứa các bảng trong hệ quản trị RDBMS truyền thống. Sử dụng
IF NOT EXISTSđể tránh lỗi nếu schema đã tồn tại.Để tạo một schema cho dữ liệu phân tích bên trong
demo_catalog:Sau khi tạo, bạn có thể cần cấp đặc quyền cho người dùng cụ thể:
Điều này cho phép data_analysts_group nhìn thấy schema nhưng chưa thể truy vấn các bảng của nó.
Tạo một bảng do hệ thống quản lý
Bảng do hệ thống quản lý được Unity Catalog kiểm soát hoàn toàn, nghĩa là Databricks xử lý lưu trữ và theo dõi siêu dữ liệu. Điều này đơn giản hóa quản lý nhưng cũng đồng nghĩa dữ liệu sẽ bị xóa nếu bảng bị drop.
Để tạo một bảng do hệ thống quản lý cho dữ liệu bán hàng:
Cấp đặc quyền trên một bảng
Cấp đặc quyền trên bảng đảm bảo người dùng có thể truy vấn hoặc sửa đổi dữ liệu. Đặc quyền
SELECTcho phép người dùng đọc dữ liệu nhưng không thể sửa đổi.Để cho phép nhà khoa học dữ liệu đọc từ bảng bán hàng:
Nếu họ cần chèn bản ghi mới, hãy cấp
INSERT:Để có toàn quyền (đọc, ghi, sửa đổi), sử dụng:
Thiết lập vị trí bên ngoài
Nếu bạn có vị trí dữ liệu bên ngoài (ví dụ: S3 trên AWS), bạn có thể tạo một đối tượng vị trí bên ngoài trong Unity Catalog:
Kiến trúc Databricks Unity Catalog
Databricks Unity Catalog được xây dựng trên dự án mã nguồn mở Apache Spark, vốn cung cấp nền tảng tính toán phân tán cho xử lý dữ liệu quy mô lớn. Nó sử dụng Hive Metastore để lưu siêu dữ liệu về tập dữ liệu và bảng, cho phép quản lý hiệu quả và hiệu năng truy vấn tốt.
Kiến trúc của Unity Catalog gồm ba thành phần chính:
Nguồn: Databricks
Với Databricks Unity Catalog, người dùng có thể dễ dàng quản lý và truy vấn dữ liệu mà không phải lo về hạ tầng nền. Họ cũng có thể cộng tác với thành viên khác bằng cách cấp cho họ các quyền cụ thể, như quyền đọc và ghi, đối với các tập dữ liệu hoặc bảng khác nhau.
Để cấp các quyền này, người dùng có thể sử dụng các lệnh SQL như "GRANT" để chỉ định người dùng hoặc nhóm nào có thể truy cập dữ liệu nhất định. Điều này đảm bảo chỉ những người được ủy quyền mới có quyền truy cập thông tin nhạy cảm.
Unity Catalog tích hợp với các hệ thống dữ liệu hiện có như thế nào
Unity Catalog tích hợp liền mạch với các hệ thống dữ liệu hiện có như Amazon S3 và Azure Blob Storage, giúp dễ dàng truy cập và quản lý dữ liệu từ nhiều nguồn. Điều này cho phép người dùng nhanh chóng phân tích các tập dữ liệu lớn mà không phải di chuyển hay sao chép thủ công dữ liệu vào Databricks.
Unity Catalog cũng hỗ trợ nhiều định dạng tệp như CSV, JSON, Parquet và Avro, cho phép linh hoạt khi làm việc với các loại dữ liệu khác nhau.
Thực hành tốt nhất với Databricks Unity Catalog
Khi làm việc với Unity Catalog, có một số thực hành tốt nhất giúp đảm bảo quản lý dữ liệu hiệu quả.
Bao gồm:
Những biện pháp này sẽ giúp đảm bảo quản trị dữ liệu hiệu quả và hiệu năng tối ưu.
Những thách thức thường gặp và cách giải quyết
Unity Catalog không phải là giải pháp “chống đạn” và có thể đối mặt với một số thách thức trong quản lý dữ liệu hiệu quả.
Một số vấn đề phổ biến gồm:
Để giải quyết các thách thức này, dưới đây là một số mẹo:
Kết luận
Unity Catalog là một công cụ mạnh mẽ để quản lý dữ liệu trong một giao diện thống nhất thông qua việc sử dụng metastore, catalog và workspace. Nó cung cấp vị trí tập trung để lưu trữ và tổ chức dữ liệu, giúp bạn dễ quản lý và khai thác trong các quy trình kinh doanh.
Muốn tìm hiểu thêm về Databricks? Bạn nên xem khóa Nhập môn Databricks, hướng dẫn Databricks Tutorial và hội thảo Databricks của chúng tôi.