Để đạt sắp xếp các giá trị đầu vào giảm sử dụng các tính năng built-in hadoop, bạn có thể làm điều này:
1.Modify trọng lượng bản đồ - Nối bản đồ chủ chốt đầu ra với value.Emit tương ứng chính tổng hợp này và giá trị từ map.Since hadoop sử dụng toàn bộ khóa theo mặc định để sắp xếp, bản ghi đầu ra bản đồ sẽ được sắp xếp theo (khóa + giá trị cũ của bạn).
2. Mặc dù sắp xếp được thực hiện ở bước 1, bạn đã thao tác khóa đầu ra bản đồ trong tiến trình.Hadoop phân vùng và nhóm dựa trên khóa theo mặc định.
3.Sau khi bạn đã sửa đổi khóa gốc, bạn cần phải quan tâm đến việc sửa đổi Partitioner và GroupingComparator để làm việc dựa trên khóa cũ tức là chỉ phần đầu của khóa tổng hợp của bạn. Partitioner - quyết định cặp khóa-giá trị nào nằm trong cùng một thể hiện Reducer
GroupComparator - quyết định cặp khóa-giá trị nào trong số những cặp được chuyển vào Reducer đi cùng một lệnh gọi phương thức reduce.
4. Cuối cùng (và rõ ràng) bạn cần trích xuất phần đầu tiên của khóa đầu vào trong bộ giảm tốc để lấy khóa cũ.
Nếu bạn cần thêm (và tốt hơn) câu trả lời, chuyển sang Hadoop Definitive Guide 3rd Edition -> chương 8 -> sắp xếp -> loại thứ
Nguồn
2013-02-22 07:01:49
Không chắc tôi hoàn toàn hiểu được động lực của bạn vì muốn sắp xếp trước khi giảm. – mohit6up