Trong BigQuery ML, mệnh đề TRANSFORM được sử dụng để tự động áp dụng các bước tiền xử lý đặc trưng trong cả quá trình huấn luyện và dự báo, giúp tránh lệch pha huấn luyện-phục vụ (training-serving skew). Tuy nhiên, TRANSFORM có một số hạn chế quan trọng:
- Hạn chế của TRANSFORM: Mệnh đề này chỉ hỗ trợ các hàm vô hướng (scalar functions) và các hàm ML tích hợp sẵn (như
ML.STANDARD_SCALER). Nó không hỗ trợ các hàm phân tích cửa sổ (window/analytic functions như AVG() OVER (...)) hoặc các phép gom nhóm phức tạp (GROUP BY).
- Giải pháp tối ưu (Đáp án D): Do các đặc trưng như
average_transaction_amount_last_24_hours yêu cầu tính toán gom nhóm theo cửa sổ thời gian, bạn cần tính toán trước các đặc trưng này trong một bảng riêng biệt (hoặc sử dụng View/Materialized View), sau đó thực hiện phép JOIN với dữ liệu giao dịch thô khi huấn luyện và phục vụ mô hình.
Chi tiết các lựa chọn khác:
- A & B: Tự xây dựng pipeline bằng Cloud Run hoặc Dataflow làm tăng đáng kể độ phức tạp của hệ thống và chi phí vận hành, trong khi BigQuery có thể xử lý việc này hiệu quả hơn bằng SQL.
- C: Việc cố gắng sử dụng các hàm phân tích cửa sổ hoặc gom nhóm bên trong mệnh đề
TRANSFORM sẽ gây ra lỗi cú pháp trong BigQuery ML.
(Đáp án được gợi ý bởi AI)