Tôi đã cố gắng hiểu một chương trình MapReduce. Trong khi làm điều đó, tôi nhận thấy rằng các nhiệm vụ giảm bắt đầu thực hiện gần như ngay lập tức sau khi tất cả các bản đồ được giao nhiệm vụ được hoàn thành. Bây giờ, điều này là đáng ngạc nhiên, bởi vì các nhiệm vụ giảm có làm việc với dữ liệu được nhóm theo khóa, có nghĩa là có bước trộn/sắp xếp được thực hiện ở giữa. Cách duy nhất điều này có thể xảy ra là nếu việc xáo trộn được thực hiện song song với ánh xạ.Bước shuffle trong chương trình MapReduce có chạy song song với Ánh xạ không?
Thứ hai, nếu xáo trộn thực sự được thực hiện song song với ánh xạ, tương đương với điều đó trong Apache Spark là gì? Có thể lập bản đồ và nhóm theo các khóa và/hoặc phân loại xảy ra song song ở đó không?
câu trả lời rất ngắn (quá ngắn cho câu trả lời bình thường): bạn có thể thấy shuffles như giai đoạn mới trong Spark của DAG. Giai đoạn mới = shuffle mới, có thể với một vài ngoại lệ –
cho phần mapReduce của câu hỏi, bạn có thể thấy bài đăng này hữu ích: http://stackoverflow.com/questions/22141631/what-is-the-purpose-of-shuffling- và sắp xếp-pha-in-the-reducer-in-map-reduce/22169760 # 22169760 – vefthym