Để áp dụng một bộ kết hợp, một thuộc tính phải được thỏa mãn bởi các giá trị được phát ra từ bộ ánh xạ là gì?
Combiner luôn có thể được áp dụng cho mọi dữ liệu
Đầu ra của bộ ánh xạ và đầu ra của bộ kết hợp phải cùng một cặp giá trị khóa và chúng có thể không đồng nhất
Đầu ra của bộ ánh xạ và đầu ra của bộ kết hợp phải cùng một cặp giá trị khóa. Chỉ khi các giá trị thỏa mãn thuộc tính liên kết và giao hoán thì nó mới có thể được thực hiện
Đáp án đúng: C
Câu hỏi này kiểm tra kiến thức về bộ kết hợp (Combiner) trong MapReduce. Bộ kết hợp là một chức năng tùy chọn giúp giảm lượng dữ liệu được truyền qua mạng bằng cách thực hiện các hoạt động giảm cục bộ trên mỗi nút ánh xạ (Mapper) trước khi dữ liệu được gửi đến bộ giảm (Reducer).
Để một bộ kết hợp có thể được áp dụng, đầu ra của bộ ánh xạ và bộ kết hợp phải có cùng kiểu cặp giá trị khóa-giá trị. Hơn nữa, các giá trị phải thỏa mãn thuộc tính liên kết và giao hoán (associative and commutative properties). Tính chất liên kết cho phép các phép toán được nhóm lại mà không ảnh hưởng đến kết quả, và tính chất giao hoán cho phép thay đổi thứ tự của các toán hạng mà không ảnh hưởng đến kết quả. Điều này đảm bảo rằng việc giảm cục bộ bằng bộ kết hợp sẽ cho kết quả tương đương với việc giảm trên toàn bộ dữ liệu sau khi dữ liệu đã được chuyển đến bộ giảm.
Các lựa chọn khác không đúng vì:
- A: Bộ kết hợp không phải lúc nào cũng có thể được áp dụng cho mọi dữ liệu. Nó chỉ có thể được áp dụng nếu các giá trị thỏa mãn các thuộc tính cần thiết.
- B: Đầu ra của bộ ánh xạ và bộ kết hợp phải cùng một cặp giá trị khóa và *phải* đồng nhất (cùng kiểu dữ liệu), chứ không phải "có thể không đồng nhất".