1. Giới thiệu
Là nhà phát triển và kỹ sư dữ liệu, chúng tôi thường thừa hưởng các tập hợp dữ liệu lớn trông giống như đầm lầy dữ liệu. Chúng tôi liên tục gặp phải những điểm khó khăn giống nhau: "Định nghĩa thực tế của cột 'amt' này là gì?", "Ai chịu trách nhiệm nếu tập dữ liệu này bị hỏng?" hoặc "Chúng tôi có được phép sử dụng bảng này trong công cụ đề xuất được cá nhân hoá không?"
Theo truyền thống, danh mục dữ liệu là các kho lưu trữ thụ động chứa đầy thẻ văn bản tự do, nhanh chóng trở nên không nhất quán và lỗi thời. Chúng không thực thi cấu trúc, khiến việc quản trị theo chương trình gần như không thể thực hiện được.
Để làm cho việc này trở nên thiết thực, chúng ta sẽ xem xét một tình huống trong phòng thí nghiệm này: thiết lập quy trình quản trị mạnh mẽ đối với dữ liệu bán lẻ thô để bộ phận tài chính có thể tin tưởng vào dữ liệu này cho mục đích báo cáo chính thức. Bạn sẽ chuyển dữ liệu này từ trạng thái "đầm lầy" không rõ ràng sang một sản phẩm được quản trị.
Danh mục phổ quát Dataplex thay đổi điều này bằng cách cung cấp một khung quản lý siêu dữ liệu có cấu trúc và chủ động. Khung này cho phép bạn đính kèm siêu dữ liệu có cấu trúc, dựa trên giản đồ (Aspects) và các định nghĩa kinh doanh được chấp nhận (Glossaries) trực tiếp vào các thành phần dữ liệu (Entries).
Trước khi có thể viết tập lệnh Python hoặc mô-đun Terraform để tự động hoá việc này ở quy mô lớn, bạn cần hiểu mô hình đối tượng cơ bản.
Trong lớp học lập trình này, chúng ta sẽ thực hiện các bước quản trị theo cách thủ công trong Google Cloud Console. Chúng ta sẽ kết nối rõ ràng các điểm giữa Entries, Aspect Types, Aspects và Glossaries để cung cấp cho bạn một mô hình tư duy vững chắc về cách làm cho dữ liệu của bạn có thể khám phá, dễ hiểu và đáng tin cậy.
Điều kiện tiên quyết
- Một dự án trên Google Cloud có quyền truy cập Chủ sở hữu hoặc quyền truy cập của người chỉnh sửa.
- Nắm vững Google Cloud Console.
- Các kỹ năng cơ bản về gcloud và bq CLI trong Cloud Shell.
Kiến thức bạn sẽ học được
- Sự khác biệt quan trọng giữa Dataplex Entry, Aspect Type và Aspect.
- Cách tạo Business Glossary (Thuật ngữ kinh doanh) để giải quyết sự mơ hồ trong thuật ngữ.
- Cách thiết kế Aspect Type (Loại khía cạnh) để thực thi một giản đồ nghiêm ngặt cho siêu dữ liệu kỹ thuật (vượt ra ngoài "thẻ").
- Cách liên kết một Thuật ngữ kinh doanh với một cột BigQuery cụ thể.
- Cách đính kèm một Aspect có cấu trúc vào một thành phần dữ liệu và xác thực dữ liệu đầu vào.
- Cách thực thi các truy vấn tìm kiếm chính xác đối với siêu dữ liệu có cấu trúc mới này.
Bạn cần có
- Một tài khoản Google Cloud và dự án trên Google Cloud
- Một trình duyệt web như Chrome
Các khái niệm chính
- Entry: (Mục) Biểu diễn trừu tượng, chuẩn tắc của một thành phần dữ liệu trong danh mục. Hãy coi đây là "con trỏ" hoặc "danh từ". Khi bạn tạo một bảng BigQuery, Dataplex sẽ tự động tạo một Mục cho bảng đó. Chúng tôi không quản trị trực tiếp bảng mà quản trị Mục của bảng đó.
- Business Glossary: (Thuật ngữ kinh doanh) Một từ điển tập trung, có phiên bản về các thuật ngữ kinh doanh của tổ chức bạn. Đây là nguồn đáng tin cậy duy nhất. Thuật ngữ này giúp ngăn chặn vấn đề "Bộ phận bán hàng định nghĩa GMV khác với bộ phận tài chính".
- Aspect Type: (Loại khía cạnh) Giản đồ hoặc mẫu cho một danh mục siêu dữ liệu cụ thể. Aspect Type xác định các trường, kiểu dữ liệu (chuỗi, enum, datetime, v.v.) và các ràng buộc (bắt buộc/không bắt buộc). Đây là hợp đồng đảm bảo tính nhất quán của siêu dữ liệu.
- Aspect: (Khía cạnh) Một phần siêu dữ liệu cụ thể được đính kèm vào một Mục tuân theo cấu trúc do Aspect Type xác định. Khía cạnh này chứa dữ liệu thực tế đáp ứng giản đồ của Aspect Type.
2. Thiết lập và yêu cầu
Bắt đầu Cloud Shell
Mặc dù bạn có thể vận hành Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trong Cloud.
Trong Google Cloud Console, hãy nhấp vào biểu tượng Cloud Shell trên thanh công cụ ở trên cùng bên phải:

Bạn sẽ chỉ mất vài phút để cấp phép và kết nối với môi trường. Khi hoàn tất, bạn sẽ thấy một nội dung như sau:

Máy ảo này được tải sẵn tất cả các công cụ phát triển mà bạn cần. Máy ảo này cung cấp một thư mục chính 5 GB liên tục và chạy trên Google Cloud, giúp tăng cường đáng kể hiệu suất mạng và quy trình xác thực. Bạn có thể thực hiện tất cả công việc trong lớp học lập trình này trong một trình duyệt. Bạn không cần cài đặt bất cứ thứ gì.
Bật các API bắt buộc và định cấu hình môi trường
Chạy các lệnh sau để đặt mã dự án, xác định vùng và bật các API dịch vụ cần thiết.
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export LOCATION="us-central1"
gcloud services enable dataplex.googleapis.com \
bigquery.googleapis.com \
datacatalog.googleapis.com
Tạo một tập dữ liệu BigQuery và chuẩn bị dữ liệu mẫu
Chúng ta cần một thành phần dữ liệu cụ thể để quản trị. Chúng ta sẽ tạo một tập dữ liệu BigQuery và tải một tệp CSV mẫu nhỏ đại diện cho các giao dịch. Dataplex sẽ tự động phát hiện bảng này và tạo một Mục cho bảng đó.
# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
--description "Retail data for governance codelab" \
$PROJECT_ID:retail_data
# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv
# Load the data from the temporary CSV file into BigQuery
bq load \
--source_format=CSV \
--autodetect \
retail_data.transactions \
/tmp/transactions.csv
# (Optional) Clean up the temporary file
rm /tmp/transactions.csv
Xác minh quá trình thiết lập bằng cách chạy một truy vấn nhanh:
bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"
3. Thiết lập một ngôn ngữ chung bằng Thuật ngữ kinh doanh
Quy trình quản trị hiệu quả bắt đầu bằng các định nghĩa không mơ hồ. Nếu một nhà phát triển nhìn thấy một cột có tên là gmv, họ không nên phải đoán xem cột đó có bao gồm thuế hoặc khoản hoàn trả hay không. Thuật ngữ kinh doanh giải quyết vấn đề này bằng cách tách định nghĩa kinh doanh khỏi việc triển khai kỹ thuật.
- Trong Google Cloud Console, hãy chuyển đến Dataplex Universal catalog (Danh mục phổ quát Dataplex).
- Trong trình đơn điều hướng bên trái, hãy chọn Glossaries (Thuật ngữ) (trong phần Manage metadata (Quản lý siêu dữ liệu)).

- Nhấp vào Create business glossary (Tạo thuật ngữ kinh doanh).
- Nhập các thông tin chi tiết sau:
- Name (Tên):
Retail Business Glossary - Location (Vị trí):
us-central1(hoặc vị trí bạn đã xác định trong quá trình thiết lập).
- Name (Tên):
- Nhấp vào Create (Tạo).

- Nhấp vào Retail Business Glossary (Thuật ngữ kinh doanh bán lẻ) mới tạo để nhập thuật ngữ đó.

- Nhấp vào Create category (Tạo danh mục) và đặt tên là
Sales Metrics(Chỉ số bán hàng), sau đó nhấp vào Create (Tạo). Danh mục giúp nhóm các thuật ngữ có liên quan. - Chọn danh mục
Sales Metricsrồi nhấp vào Add term, sau đó đặt tên làGross Merchandise Valuerồi nhấp vào Create - Nhấp vào nút + Add (Thêm) trên phần Overview (Tổng quan), sau đó điền các thông tin chi tiết sau:
- Tổng quan:
The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.
- Tổng quan:
- Nhấp vào Save (Lưu).

Giờ đây, bạn đã thiết lập một định nghĩa rõ ràng có thể liên kết với các thành phần kỹ thuật trong tổ chức của mình.
4. Xác định siêu dữ liệu kỹ thuật có cấu trúc bằng Aspect Type
Các thẻ "key:value" đơn giản không đủ cho tính nghiêm ngặt về kỹ thuật. Nếu cần theo dõi "Chủ sở hữu dữ liệu", bạn không muốn một bảng được gắn thẻ owner:bob và một bảng khác được gắn thẻ contact:alice@example.com. Bạn cần một giản đồ để thực thi rằng chủ sở hữu là bắt buộc và phải là định dạng email hợp lệ.
Chúng ta sẽ sử dụng Aspect Type (Loại khía cạnh) để xác định hợp đồng này.
- Trong trình đơn điều hướng bên trái của Dataplex, trong phần Catalogue (Danh mục), hãy chọn Aspect types & Tag Templates (Loại khía cạnh và Mẫu thẻ).
- Chọn thẻ Custom (Tuỳ chỉnh) rồi nhấp vào Create aspect type (Tạo loại khía cạnh).

- Nhập các thông tin chi tiết sau:
- Display name (Tên hiển thị):
Data Asset Governance - Location (Vị trí):
us-central1
- Display name (Tên hiển thị):
- Trong phần Template (Mẫu), chúng ta sẽ xác định giản đồ cho
Aspect. Nhấp vào Add a field (Thêm trường) để tạo 3 trường sau:- Field 1:
- (Trường 1)
- Tên hiển thị:
Data Steward - Type (Loại):
Text - Text type (Loại văn bản):
Plain text - Cardinality (Số lượng): Bắt buộc (đánh dấu vào hộp)
- Tên hiển thị:
- Field 2 (Trường 2) (nhấp lại vào Add a field (Thêm trường)):
- Display name (Tên hiển thị):
Data Sensitivity - Type (Loại):
Enum - Values (Giá trị): Thêm
Public(Công khai),Internal(Nội bộ) vàConfidential(Bí mật) - Cardinality (Số lượng): Không bắt buộc
- Display name (Tên hiển thị):
- Field 3 (Trường 3) (nhấp lại vào Add a field (Thêm trường)):
- Display name (Tên hiển thị):
Last Review Date - Type (Loại):
Date and time - Cardinality (Số lượng): Không bắt buộc
- Display name (Tên hiển thị):
- Field 1:
- Nhấp vào Save (Lưu).

Bạn vừa tạo một hợp đồng siêu dữ liệu có thể sử dụng lại. Chưa có gì sử dụng hợp đồng này, nhưng cấu trúc đã tồn tại.
5. Kết nối quy trình quản trị với Thành phần
Bây giờ, chúng ta sẽ tổng hợp tất cả. Chúng ta có một bảng BigQuery (retail_data.transactions), một định nghĩa kinh doanh (Gross Merchandise Value (Tổng giá trị hàng hoá)) và một giản đồ quản trị (Data Asset Governance (Quy trình quản trị thành phần dữ liệu)).
Chúng ta sẽ làm phong phú Entry (Mục) Dataplex cho bảng BigQuery.
Làm phong phú giản đồ bằng bối cảnh kinh doanh (cấp cột)
Hãy cho người dùng biết cột gmv thực sự có nghĩa là gì bằng cách liên kết cột đó với thuật ngữ.
- Trong trình đơn điều hướng bên trái của Dataplex, hãy nhấp vào Search (Tìm kiếm).
- Ở phía trên cùng bên phải, hãy nhấp vào thẻ Dataplex Universal Catalog (Danh mục phổ quát Dataplex) nếu thẻ này chưa được kích hoạt.

- Tìm kiếm
retail_data.transactions. Nhấp vào kết quả cho Bảng BigQuery.

- Nhấp vào thẻ Schema (Giản đồ) trong phần thông tin chi tiết về Mục.
- Đánh dấu vào hộp kiểm của hàng cột
gmvrồi nhấp vào Add business term (Thêm thuật ngữ kinh doanh). - Chọn thuật ngữ
Gross Merchandise Value(Tổng giá trị hàng hoá).

Cột gmv không còn chỉ là "FLOAT" mà hiện đã được liên kết với định nghĩa của công ty về Gross Merchandise Value (Tổng giá trị hàng hoá).
Làm phong phú mục bằng siêu dữ liệu kỹ thuật có cấu trúc (cấp bảng)
Tiếp theo, chúng ta sẽ đính kèm Aspect (Khía cạnh) Data Asset Governance (Quy trình quản trị thành phần dữ liệu) vào bảng để xác định quyền sở hữu và độ nhạy cảm.
- Ở lại trang Mục
retail_data.transactions. - Nhấp vào thẻ Add tag or aspect (Thêm thẻ hoặc khía cạnh), sau đó chọn loại
Data Asset Governance(Quy trình quản trị thành phần dữ liệu) trong danh sách thả xuống.

- Biểu mẫu sẽ hiển thị các trường được xác định trong giản đồ Aspect Type. Hãy điền các trường đó như sau:
- Data Steward:
finance-team@example.com(Người quản lý dữ liệu) - Data Sensitivity: (Độ nhạy cảm của dữ liệu) Chọn
Internal(Nội bộ). - Last Review Date: (Ngày xem xét gần đây nhất) Chọn ngày hôm nay.
- Data Steward:
- Nhấp vào Save (Lưu).

Bạn đã đính kèm thành công một Aspect có cấu trúc vào Mục. Không giống như một thẻ đơn giản, dữ liệu này được xác thực dựa trên giản đồ mà bạn đã tạo.
6. Quy trình khám phá và xác minh thống nhất
Chúng ta không thực hiện công việc này chỉ để điền vào các biểu mẫu. Chúng ta thực hiện công việc này để làm cho dữ liệu có thể khám phá và đáng tin cậy. Hãy xem siêu dữ liệu này thay đổi trải nghiệm của nhà phát triển đối với hệ thống tìm kiếm và khám phá như thế nào.
Quay lại trang Search (Tìm kiếm) chính trong Dataplex Universal Catalog (Danh mục phổ quát Dataplex).
Hãy tưởng tượng bạn là một kỹ sư nền tảng thực thi quy trình quản trị. Bạn cần tìm tất cả các thành phần được đánh dấu là "Internal" (Nội bộ) và chịu sự điều chỉnh của Aspect Type (Loại khía cạnh) cụ thể của bạn. Bạn cần sử dụng các vị từ chính xác dựa trên giản đồ của mình.
Bạn có thể xác minh điều này theo 2 cách: sử dụng cú pháp truy vấn chính xác (cần thiết cho quy trình tự động hoá) hoặc sử dụng các bộ lọc giao diện người dùng tương tác.
Cách 1: Xác minh thông qua Truy vấn có cấu trúc
- Trong thanh tìm kiếm (ở chế độ tìm kiếm Keyword (Từ khoá)), hãy nhập truy vấn có cấu trúc sau.
aspect:data-asset-governance.data-sensitivity=Internal
- Bạn sẽ thấy bảng
retail_data.transactions.

Cách 2: Xác minh thông qua các khía cạnh của Bộ lọc giao diện người dùng
- Xoá nội dung trên thanh tìm kiếm để đặt lại chế độ xem
- Xem bảng điều khiển Filter by properties (Lọc theo thuộc tính) ở bên trái màn hình.
- Di chuyển xuống rồi mở rộng phần Data Asset Governance (Quy trình quản trị thành phần dữ liệu) (phần này đại diện cho Aspect Type (Loại khía cạnh) mà bạn đã tạo)
- Trong phần Data Sensitivity (Độ nhạy cảm của dữ liệu), hãy đánh dấu vào hộp cho
Internal. - Kết quả tìm kiếm sẽ cập nhật để cho thấy bảng
retail_data.transactions.

Cho dù bạn sử dụng truy vấn đã nhập hay bộ lọc giao diện người dùng, cơ chế cơ bản vẫn giống nhau.
Điều này cho thấy sự khác biệt cơ bản giữa Dataplex và một wiki đơn giản: siêu dữ liệu của bạn là một cấu trúc có thể truy vấn. Giờ đây, bạn có thể xây dựng các quy trình kiểm tra tự động (ví dụ: "Tìm tất cả các bảng có last_review_date > 1 năm trước") dựa trên cấu trúc có thể dự đoán này.
7. Dọn dẹp môi trường
Để tránh phát sinh các khoản phí liên tục, hãy xoá các tài nguyên được tạo trong lớp học lập trình này.
Xoá tập dữ liệu BigQuery
Lệnh này không thể đảo ngược và sử dụng cờ -f (force) để xoá tập dữ liệu và tất cả các bảng của tập dữ liệu đó mà không cần xác nhận.
# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)
# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data
Xoá các cấu phần phần mềm Dataplex
- Chuyển đến Dataplex Universal catalog UI > Manage metadata > Catalogue (Giao diện người dùng danh mục phổ quát Dataplex > Quản lý siêu dữ liệu > Danh mục).
- Trong phần Aspect types &tag templates (Loại khía cạnh và mẫu thẻ), hãy chọn loại khía cạnh data_asset_governance rồi xoá loại khía cạnh đó.
- Chuyển đến Manage metadata > Glossaries (Quản lý siêu dữ liệu > Thuật ngữ), chọn
Retail Business Glossary(Thuật ngữ kinh doanh bán lẻ) rồi xoá thuật ngữ đó. Hãy nhớ xoá thuật ngữGross Merchandise Value(Tổng giá trị hàng hoá) trước rồi xoá thuật ngữ sau.
8. Xin chúc mừng!
Bạn đã vượt ra ngoài quy trình gắn thẻ dữ liệu đơn giản và thiết lập một mô hình quản trị có cấu trúc, cơ bản trong Dataplex.
Bạn đã tìm hiểu:
- Thuật ngữ giải quyết sự mơ hồ về kinh doanh.
- Aspect Types (Loại khía cạnh) cung cấp hợp đồng giản đồ cho siêu dữ liệu kỹ thuật.
- Aspects (Khía cạnh) áp dụng giản đồ đó cho các Mục dữ liệu thực tế.
- Dataplex Search (Tìm kiếm Dataplex) sử dụng siêu dữ liệu có cấu trúc này để khám phá chính xác.
Bước tiếp theo
- Quản trị dưới dạng mã: Sử dụng nhà cung cấp Google Cloud Terraform để xác định Aspect Types (Loại khía cạnh) và Glossaries (Thuật ngữ) trong quản lý phiên bản, đảm bảo giản đồ tính nhất quán trên các môi trường phát triển/kiểm thử/sản xuất.
- Automated Tagging: (Gắn thẻ tự động) Viết một hàm Cloud hoặc bước Cloud Build được kích hoạt bằng việc tạo tập dữ liệu mới, tự động đính kèm Aspect "Data Asset Governance" (Quy trình quản trị thành phần dữ liệu) với các giá trị mặc định (ví dụ:
sensitivity=Internal, steward=TBD), gắn cờ để xem xét.