Quay lại bộ đề
Question #314 Topic 1
You need to load a dataset with multiple terabytes of clickstream data into BigQuery. The data arrives each day as compressed JSON files in a Cloud Storage bucket. You need a low-cost, programmatic, and scalable solution to load the data into BigQuery. What should you do?
Bạn cần tải một tập dữ liệu chứa nhiều terabyte dữ liệu clickstream vào BigQuery. Dữ liệu đến mỗi ngày dưới dạng các tệp JSON được nén trong một bucket Cloud Storage. Bạn cần một giải pháp chi phí thấp, có thể lập trình (programmatic) và có khả năng mở rộng để tải dữ liệu vào BigQuery. Bạn nên làm gì?
A
Create an external table in BigQuery pointing to the Cloud Storage bucket and run the INSERT INTO ... SELECT * FROM external_table command.
Tạo một bảng ngoại vi (external table) trong BigQuery trỏ đến bucket Cloud Storage và chạy lệnh `INSERT INTO ... SELECT * FROM external_table`.
B
Use the BigQuery Data Transfer Service from Cloud Storage.
Sử dụng BigQuery Data Transfer Service từ Cloud Storage.
C
Create a Cloud Run function to run a Python script to read and parse each JSON file, and use the BigQuery streaming insert API.
Tạo một Cloud Run function để chạy script Python đọc và phân tích từng tệp JSON, và sử dụng API streaming insert của BigQuery.
D
Use Cloud Data Fusion to create a pipeline to load the JSON files into BigQuery.
Sử dụng Cloud Data Fusion để tạo một đường ống tải các tệp JSON vào BigQuery.
Giải thích & Tài liệu tham khảo
Để nạp một lượng lớn dữ liệu (nhiều Terabytes) hàng ngày từ Cloud Storage vào BigQuery một cách tiết kiệm chi phí, tự động hóa và có khả năng mở rộng:
- BigQuery Data Transfer Service (DTS) cho Cloud Storage là giải pháp tối ưu. Công việc tải dữ liệu (load jobs) từ Cloud Storage vào BigQuery là hoàn toàn miễn phí về mặt chi phí tính toán (no ingestion cost). DTS hỗ trợ tự động hóa việc lập lịch nạp dữ liệu định kỳ hàng ngày, tự động xử lý các tệp tin nén (như gzip) và tự động mở rộng theo quy mô dữ liệu mà không cần viết mã nguồn phức tạp.
- Lựa chọn A sai: Tạo bảng ngoại vi và thực hiện truy vấn
INSERT INTO ... SELECTsẽ phát sinh chi phí truy vấn (BigQuery tính phí dựa trên số lượng dữ liệu được quét từ bảng ngoại vi, khoảng 5$/TB hoặc tiêu thụ slots), điều này cực kỳ tốn kém đối với tập dữ liệu nhiều TB hàng ngày. - Lựa chọn C sai: Streaming inserts trong BigQuery có tính phí và Cloud Run function sẽ bị giới hạn thời gian chạy (timeout) cũng như tài nguyên bộ nhớ khi xử lý lượng dữ liệu quá lớn, làm tăng chi phí và không tối ưu.
- Lựa chọn D sai: Cloud Data Fusion là một dịch vụ tích hợp dữ liệu trực quan rất nặng và tốn kém chi phí hạ tầng (chạy cụm Dataproc bên dưới), không phải là giải pháp có chi phí thấp cho tác vụ tải dữ liệu đơn giản.
(Đáp án được gợi ý bởi AI)