Chuẩn bị dữ liệu bằng các tác nhân AI trong lớp học lập trình BigQuery

Chuẩn bị dữ liệu bằng các tác nhân AI trong lớp học lập trình BigQuery

Thông tin về lớp học lập trình này

subjectLần cập nhật gần đây nhất: thg 4 9, 2025
account_circleTác giả: Tim Bezold

1. Giới thiệu

Hãy tưởng tượng bạn có thể chuẩn bị dữ liệu để phân tích nhanh hơn và hiệu quả hơn mà không cần phải là chuyên gia lập trình. Với tính năng Chuẩn bị dữ liệu BigQuery, điều đó đã trở thành hiện thực. Tính năng mạnh mẽ này giúp đơn giản hoá việc nhập, chuyển đổi và làm sạch dữ liệu, giúp tất cả những người làm việc với dữ liệu trong tổ chức của bạn có thể chuẩn bị dữ liệu.

Bạn đã sẵn sàng khám phá những bí mật ẩn chứa trong dữ liệu sản phẩm chưa?

  • Có kiến thức cơ bản về Google Cloud Console
  • Có kiến thức cơ bản về SQL
  • Cách quy trình chuẩn bị dữ liệu của BigQuery có thể dọn dẹp và chuyển đổi dữ liệu thô của bạn thành thông tin kinh doanh hữu ích, thông qua một ví dụ thực tế trong ngành Thời trang và Làm đẹp.
  • Cách chạy và lên lịch chuẩn bị dữ liệu cho dữ liệu đã làm sạch

Bạn cần có

  • Tài khoản Google Cloud và Dự án Google Cloud
  • Một trình duyệt web như Chrome

2. Yêu cầu và cách thiết lập cơ bản

Thiết lập môi trường theo tốc độ của riêng bạn

  1. Đăng nhập vào Google Cloud Console rồi tạo một dự án mới hoặc sử dụng lại một dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Tên dự án là tên hiển thị cho người tham gia dự án này. Đây là một chuỗi ký tự không được API của Google sử dụng. Bạn luôn có thể cập nhật thông tin này.
  • Mã dự án là duy nhất trên tất cả các dự án Google Cloud và không thể thay đổi (không thể thay đổi sau khi đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường thì bạn không cần quan tâm đến chuỗi này. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham chiếu đến Mã dự án (thường được xác định là PROJECT_ID). Nếu không thích mã được tạo, bạn có thể tạo một mã ngẫu nhiên khác. Ngoài ra, bạn có thể thử dùng email của riêng mình để xem có thể sử dụng hay không. Bạn không thể thay đổi giá trị này sau bước này và giá trị này sẽ được giữ nguyên trong suốt thời gian của dự án.
  • Xin lưu ý rằng có một giá trị thứ ba là Mã dự án mà một số API sử dụng. Tìm hiểu thêm về cả ba giá trị này trong tài liệu.
  1. Tiếp theo, bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các tài nguyên/API trên Cloud. Việc tham gia lớp học lập trình này sẽ không tốn kém nhiều chi phí, nếu có. Để tắt các tài nguyên nhằm tránh bị tính phí sau khi hoàn tất hướng dẫn này, bạn có thể xoá các tài nguyên đã tạo hoặc xoá dự án. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí 300 USD.

3. Trước khi bắt đầu

Bật API

Để sử dụng Gemini trong BigQuery, bạn phải bật API Gemini cho Google Cloud. Quản trị viên dịch vụ hoặc chủ sở hữu dự án có quyền IAM serviceusage.services.enable thường thực hiện bước này.

  1. Để bật API Gemini cho Google Cloud, hãy chuyển đến trang Gemini cho Google Cloud trong Google Cloud Marketplace. Chuyển đến Gemini cho Google Cloud
  2. Trong bộ chọn dự án, hãy chọn một dự án.
  3. Nhấp vào Bật. Trang sẽ cập nhật và hiển thị trạng thái Đã bật. Gemini trong BigQuery hiện đã có trong dự án Google Cloud đã chọn cho tất cả người dùng có các quyền IAM cần thiết.

Thiết lập vai trò và quyền để phát triển quy trình chuẩn bị dữ liệu

  1. Trong phần IAM và Quản trị, hãy chọn IAM

4477412d79f29e0b.png

  1. Chọn người dùng của bạn rồi nhấp vào biểu tượng bút chì để "Chỉnh sửa người dùng chính"

5eb558e04ad12362.png

Để sử dụng tính năng Chuẩn bị dữ liệu BigQuery, bạn cần có các vai trò và quyền sau:

4. Tìm và Đăng ký danh sách "bq data preparation demo" (Bản minh hoạ về cách chuẩn bị dữ liệu bq) trong Trung tâm phân tích BigQuery

Chúng ta sẽ sử dụng tập dữ liệu bq data preparation demo cho hướng dẫn này. Đây là một tập dữ liệu được liên kết trong BigQuery Analytics Hub mà chúng ta sẽ đọc.

Quy trình chuẩn bị dữ liệu không bao giờ ghi lại vào nguồn và chúng tôi sẽ yêu cầu bạn xác định một bảng đích để ghi vào. Bảng mà chúng ta sẽ sử dụng cho bài tập này chỉ có 1.000 hàng để giảm thiểu chi phí,nhưng quá trình chuẩn bị dữ liệu sẽ chạy trên BigQuery và sẽ mở rộng theo quy mô.

Hãy làm theo các bước sau để tìm và đăng ký sử dụng tập dữ liệu được liên kết:

  1. Truy cập vào Analytics Hub: Trong Google Cloud Console, hãy chuyển đến BigQuery.
  2. Trong trình đơn điều hướng BigQuery, trong phần "Quản trị", hãy chọn "Analytics Hub".

6ddfac4dd863ca7b.png

  1. Tìm trang thông tin: Trong giao diện người dùng của Analytics Hub, hãy nhấp vào Tìm trang thông tin."
  2. Nhập bq data preparation demo vào thanh tìm kiếm rồi nhấn Enter.

7e0cb82b80174cdc.png

  1. Đăng ký trang thông tin: Chọn trang thông tin bq data preparation demo trong kết quả tìm kiếm.
  2. Trên trang chi tiết của trang thông tin, hãy nhấp vào nút Đăng ký.
  3. Xem lại mọi hộp thoại xác nhận và cập nhật dự án/tập dữ liệu nếu cần. Các giá trị mặc định phải chính xác.

2ef0ac1e3557f2f9.png

  1. Truy cập vào Tập dữ liệu trong BigQuery: Sau khi bạn đăng ký thành công, các tập dữ liệu trong trang thông tin sẽ được liên kết với dự án BigQuery của bạn.

Quay lại BigQuery Studio.

5. Khám phá dữ liệu và bắt đầu chuẩn bị dữ liệu

  1. Tìm Tập dữ liệu và Bảng: Trong bảng điều khiển Explorer (Trình khám phá), hãy chọn dự án của bạn, sau đó tìm tập dữ liệu có trong trang thông tin bq data preparation demo. Chọn bảng stg_product.
  2. Mở trong tính năng Chuẩn bị dữ liệu: Nhấp vào biểu tượng ba dấu chấm dọc bên cạnh tên bảng rồi chọn Open in Data Preparation.

Thao tác này sẽ mở bảng trong giao diện Chuẩn bị dữ liệu để bạn bắt đầu chuyển đổi dữ liệu.

76ace3d4b5cfc2d0.png

Như bạn có thể thấy trong bản xem trước dữ liệu bên dưới, chúng ta sẽ phải giải quyết một số vấn đề về dữ liệu, bao gồm:

  • Cột giá chứa cả số tiền và đơn vị tiền tệ, khiến việc phân tích trở nên khó khăn.
  • Cột sản phẩm kết hợp tên sản phẩm và danh mục (được phân tách bằng biểu tượng dấu gạch chéo |).

f4d93aa59a56447a.png

Ngay lập tức, Gemini sẽ phân tích dữ liệu của bạn và đề xuất một số phép biến đổi. Trong ví dụ này, chúng ta thấy một số đề xuất. Trong các bước tiếp theo, chúng ta sẽ áp dụng những thành phần cần thiết.

fd4d14e4fa3c31c1.png

6. Xử lý cột Giá

Hãy xử lý cột Giá. Như chúng ta đã thấy, thuộc tính này chứa cả đơn vị tiền tệ và số tiền. Mục tiêu của chúng ta là tách các giá trị này thành 2 cột riêng biệt:Đơn vị tiền tệ và Số tiền.

Gemini đã xác định một số đề xuất cho cột Giá.

  1. Tìm một đề xuất có nội dung tương tự như:

Mô tả: "Biểu thức này xoá ký tự "USD " ở đầu trường đã chỉ định"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. Chọn Xem trước

c9327cfbd32247d6.png

  1. Chọn Áp dụng

Tiếp theo, đối với cột Giá, hãy chuyển đổi loại dữ liệu từ CHUỖI thành SỐ.

  1. Tìm một đề xuất có nội dung tương tự như:

Mô tả: "Chuyển đổi cột Giá từ kiểu chuỗi thành float64"

SAFE_CAST(Price AS float64)
  1. Chọn Áp dụng.

Bây giờ, bạn sẽ thấy 3 bước đã áp dụng trong danh sách bước.

d3359af47dce0c15.png

7. Xử lý Cột sản phẩm

Cột sản phẩm chứa cả tên sản phẩm và danh mục, được phân tách bằng dấu gạch chéo (|).

Mặc dù chúng ta có thể sử dụng lại ngôn ngữ tự nhiên, nhưng hãy cùng khám phá một tính năng mạnh mẽ khác của Gemini.

Xoá bỏ thông tin không cần thiết trong tên sản phẩm

  1. Chọn phần danh mục của mục nhập sản phẩm, bao gồm cả ký tự |, rồi xoá phần đó.

5171d598a8cb3a75.png

Gemini sẽ nhận dạng mẫu này một cách thông minh và đề xuất một phép biến đổi để áp dụng cho toàn bộ cột.

  1. Chọn "Chỉnh sửa".

b36cac918b4f30e9.png

Đề xuất của Gemini rất chính xác: nó xoá mọi nội dung sau ký tự "|", giúp tách biệt hiệu quả tên sản phẩm.

Nhưng lần này, chúng ta không muốn ghi đè dữ liệu ban đầu.

  1. Trong trình đơn thả xuống cột mục tiêu, hãy chọn "Tạo cột mới".
  2. Đặt tên là ProductName.

bda19e0e5e536ccd.png

  1. Xem trước các thay đổi để đảm bảo mọi thứ đều ổn.
  2. Áp dụng phép biến đổi.

Trích xuất danh mục sản phẩm

Bằng cách sử dụng ngôn ngữ tự nhiên, chúng ta sẽ hướng dẫn Gemini trích xuất từ sau dấu gạch chéo (|) trong cột Sản phẩm. Giá trị được trích xuất này sẽ được ghi đè vào cột hiện có có tên là Sản phẩm.

  1. Nhấp vào biểu tượng Add Step để thêm một bước biến đổi mới.

77944047e698494c.png

  1. Chọn Transformation trong trình đơn thả xuống
  2. Trong trường câu lệnh bằng ngôn ngữ tự nhiên, hãy nhập "trích xuất từ sau dấu gạch chéo (|) trong cột Sản phẩm", sau đó nhấn phím Enter để tạo SQL.

82efc2447a3210bd.png

  1. Giữ nguyên Cột mục tiêu là "Sản phẩm".
  2. Nhấp vào Áp dụng.

Biến đổi này sẽ cho bạn kết quả sau.

d741c66d9e0e8e00.png

8. Kết hợp để làm phong phú dữ liệu

Thông thường, bạn sẽ muốn làm phong phú dữ liệu bằng thông tin từ các nguồn khác. Trong ví dụ này, chúng ta sẽ kết hợp dữ liệu sản phẩm với các thuộc tính sản phẩm mở rộng, stg_extended_product, từ một bảng của bên thứ ba. Bảng này bao gồm các thông tin chi tiết như thương hiệu và ngày ra mắt.

  1. Nhấp vào biểu tượng Add Step
  2. Chọn Join
  3. Duyệt đến bảng stg_extended_product.

dca14451c3fbc7f0.png

Gemini trong BigQuery tự động chọn khoá liên kết productid cho chúng ta và xác định bên trái và bên phải vì tên khoá giống hệt nhau.

Lưu ý: Đảm bảo rằng trường mô tả có nội dung "Join by productid" (Kết nối theo productid). Nếu nó bao gồm các khoá kết hợp bổ sung, hãy ghi đè trường mô tả thành "Kết hợp theo productid" và chọn nút tạo trong trường mô tả để tạo lại biểu thức kết hợp với điều kiện L sau.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. Bạn có thể chọn Xem trước để xem trước kết quả.
  2. Nhấp vào Apply.

Dọn dẹp các thuộc tính mở rộng

Mặc dù đã thực hiện thành công việc kết hợp, nhưng dữ liệu thuộc tính mở rộng cần được dọn dẹp. Cột LaunchDate có định dạng ngày không nhất quán và cột Brand thiếu một số giá trị.

Chúng ta sẽ bắt đầu bằng cách xử lý cột LaunchDate.

f9b570d7c2d3a98d.png

Trước khi tạo bất kỳ phép biến đổi nào, hãy kiểm tra các đề xuất của Gemini.

  1. Nhấp vào tên cột LaunchDate. Bạn sẽ thấy một số đề xuất được tạo tương tự như những đề xuất trong hình ảnh bên dưới.

62b6e6027a46ba75.png

  1. Nếu bạn thấy một đề xuất có SQL sau đây, hãy Áp dụng đề xuất đó và bỏ qua các bước tiếp theo.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Nếu bạn không thấy đề xuất nào khớp với SQL ở trên, hãy nhấp vào biểu tượng Add Step.
  2. Chọn Transformation.
  3. Trong trường SQL, hãy nhập nội dung sau:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Đặt Target Columns thành LaunchDate.
  2. Nhấp vào Apply.

Cột LaunchDate hiện có định dạng ngày nhất quán.

ccf34aa05754a834.png

9. Thêm bảng đích đến

Tập dữ liệu của chúng ta hiện đã sạch và sẵn sàng để tải vào bảng phương diện trong kho dữ liệu.

  1. Nhấp vào ADD STEP.
  2. Chọn Destination.
  3. Điền các thông số bắt buộc: Tập dữ liệu: bq_data_preparation_demo Bảng: DimProduct
  4. Nhấp vào Save.

79fdc3666a3a21b9.png

Chúng ta đã làm việc với thẻ "Dữ liệu" và "Bản đồ". Ngoài những chế độ xem này, tính năng Chuẩn bị dữ liệu của BigQuery còn cung cấp chế độ xem "Biểu đồ" hiển thị trực quan trình tự các bước biến đổi trong quy trình của bạn.

95e64d8152228f7b.png

10. Phần thưởng A: Xử lý cột Nhà sản xuất và tạo Bảng lỗi

Chúng ta cũng đã xác định được các giá trị trống trong cột Manufacturer. Đối với những bản ghi này, chúng ta muốn triển khai quy trình kiểm tra chất lượng dữ liệu và chuyển chúng sang bảng lỗi để xem xét thêm.

Tạo bảng lỗi

  1. Nhấp vào nút More bên cạnh tiêu đề stg_product data preparation.
  2. Trong phần Setting, hãy chọn Error Table.
  3. Đánh dấu vào hộp Enable error table, thiết lập chế độ cài đặt như sau:
  • Tập dữ liệu: Chọn bq_data_preparation_demo
  • Bảng: Nhập err_dataprep
  • Trong mục Define duration for keeping errors, hãy chọn 30 days (default)
  1. Nhấp vào Save.

adb5722f05c1b205.png

Thiết lập tính năng xác thực cho cột Nhà sản xuất

  1. Chọn cột Nhà sản xuất.
  2. Gemini có thể đã xác định được một phép biến đổi có liên quan. Tìm đề xuất chỉ giữ lại các hàng có trường Nhà sản xuất không để trống. Tệp này sẽ có SQL tương tự như sau:
Manufacturer IS NOT NULL

2.Nhấp vào nút "Chỉnh sửa" trên đề xuất này để xem xét.

4749b551a03d8193.png

  1. Đánh dấu vào tuỳ chọn "Các hàng không xác thực được sẽ chuyển đến bảng lỗi" nếu bạn chưa đánh dấu vào tuỳ chọn này
  2. Nhấp vào Apply.

Bất cứ lúc nào, bạn cũng có thể xem lại, sửa đổi hoặc xoá các phép biến đổi đã áp dụng bằng cách nhấp vào nút "Các bước đã áp dụng".

15df6caacbdd6a69.png

Dọn dẹp cột ProductID_1 thừa

Giờ đây, bạn có thể xoá cột ProductID_1 trùng lặp với ProductID trong bảng đã nối.

  1. Chuyển đến thẻ Schema
  2. Nhấp vào biểu tượng 3 dấu chấm bên cạnh cột ProductID_1.
  3. Nhấp vào biểu tượng Drop.

Bây giờ, chúng ta đã sẵn sàng chạy công việc chuẩn bị dữ liệu và xác thực toàn bộ quy trình. Khi đã hài lòng với kết quả, chúng ta có thể lên lịch để công việc chạy tự động.

  1. Trước khi rời khỏi chế độ xem chuẩn bị dữ liệu, hãy Lưu nội dung chuẩn bị. Bên cạnh tiêu đề stg_product data preparation, bạn sẽ thấy nút Save. Nhấp vào nút để lưu.

11. Dọn dẹp môi trường

  • Xoá stg_product data preparation
  • Xoá tập dữ liệu bq data preparation demo

12. Xin chúc mừng

Chúc mừng bạn đã hoàn thành lớp học lập trình.

Nội dung đã đề cập

  • Thiết lập quy trình chuẩn bị dữ liệu
  • Mở bảng và điều hướng quy trình chuẩn bị dữ liệu
  • Phân tách các cột có dữ liệu số và dữ liệu mô tả đơn vị
  • Tiêu chuẩn hoá định dạng ngày
  • Chạy quy trình chuẩn bị dữ liệu