Yêu cầu là viết pipeline ETL trên Hadoop cần có tính năng điểm kiểm tra (checkpointing) và phân tách luồng dữ liệu (splitting pipelines).
- A là đáp án đúng: Apache Pig (sử dụng ngôn ngữ PigLatin) được thiết kế đặc biệt cho các tác vụ phân tích dữ liệu dạng luồng (data-flow) cấp cao trên Hadoop. PigLatin rất mạnh mẽ và trực quan cho các quy trình ETL, hỗ trợ toán tử
SPLIT để phân tách dòng dữ liệu thành nhiều luồng song song, và tự động tối ưu hóa các bước trung gian (checkpointing). Nó đơn giản hơn viết MapReduce thuần và linh hoạt hơn HiveQL cho các luồng xử lý tùy biến.
- B không đúng: HiveQL là ngôn ngữ truy vấn giống SQL, được thiết kế cho kho dữ liệu (data warehousing) và báo cáo phân tích tĩnh, không trực quan và linh hoạt bằng Pig trong việc quản lý các luồng xử lý ETL phân mảnh phức tạp.
- C và D không đúng: Viết MapReduce bằng Java hoặc Python trực tiếp rất phức tạp, tốn thời gian phát triển và khó bảo trì hơn nhiều so với việc sử dụng ngôn ngữ cấp cao như PigLatin.
(Đáp án được gợi ý bởi AI)