如果我在每行有一個隨機整數的文件,並且想要使用Hadoop對文件進行排序,那麼我的映射器和Reducer的輸入/輸出鍵和值會是什麼?Hadoop排序映射並減少鍵值
回答
雅虎有sorted Peta和Tera字節的數據。其他人(包括Google)定期執行,您可以在互聯網上搜索排序基準。雅虎已經發布了一個paper他們如何做到這一點。
'org.apache.hadoop.examples.terasort'包中有用於排序數據的示例代碼。
在Cloudera博客here上找到了更多信息。有一些內置的類可以使排序更容易。
總訂單分區HADOOP-3019。作爲TeraSort記錄的衍生產品,Hadoop現在具有用於高效生成全局排序輸出的庫類。 InputSampler用於對輸入數據的一個子集進行採樣,然後使用TotalOrderPartitioner將映射輸出分區爲大小相等的分區。非常整齊的東西 - 非常值得一看,即使你不需要使用它。
您還可以找到更多信息here。
我是Hadoop的新手,你能更具體地瞭解mapper和reducer的鍵/值是用來排序上面描述的文件嗎? – user176121
正如我在原來的文章中提到,檢查[這裏](http://stackoverflow.com/questions/7607569/hadoop-what-should-be-mapped-and-what-should-be-reduced)瞭解更多信息。 –
更理論上的答案:考慮不同的排序算法(快速排序,合併排序,冒泡排序等)。
由於我們知道可以在線性時間內合併兩個排序列表,因此通過在其上面放置「合併」步驟來並行排序算法非常簡單。因此,您可以使用多種選項來完成此任務。
的terasort比這要聰明得多,但是,因爲簡單地拆分和合並不會解決所有的問題....你最終的「合併」一步對應於一個巨大的一步降低,當你有很多的分裂的。
- 1. 分離Hadoop映射並減少任務
- 2. 排隊和映射/減少
- 3. 處理小文件映射減少hadoop
- 4. 映射並減少返回的NAN值
- 5. Mongodb併發映射減少
- 6. couchdb中的關鍵排序和映射減少
- 7. 使用Hadoop和HBase減少一個映射然後減少
- 8. 並行映射減少Hadoop中的作業
- 9. Hadoop map減少移除小於或大於映射器的值
- 10. 如何映射 - 減少組,對排序值進行排序和計數
- 11. Mongodb映射減少與Apache Spark映射減少
- 12. hadoop map減少二級排序
- 13. 映射器輸入鍵值對Hadoop中
- 14. MongoDB中嵌套值的映射減少
- 15. 映射減少程序拋出異常IOException「類型不匹配鍵映射」
- 16. java併發映射按值排序
- 17. 按值排序併發映射條目
- 18. MongoDB:映射沒有減少?
- 19. 映射/減少計數的兩階段排序
- 20. 映射/減少和排序嵌套文檔
- 21. Java數據結構:映射重複鍵並按值排序
- 22. 完成減少任務後Hadoop - 映射任務繼續
- 23. 將數據寫入Cassandra Hadoop映射器(不減少)
- 24. Hadoop將數據從映射器減少到組合器
- 25. Hadoop的一個映射和多個減少
- 26. 在Hadoop中映射和減少class屬性
- 27. WEKA類映射和減少KMeans階段在hadoop上聚類
- 28. XML文件輸入映射/減少Hadoop Windows服務器
- 29. Hibernate映射減排問題
- 30. Hadoop流式縮減器映射器
詳細的解釋發佈在下面的鏈接[how-to-produce-sorted-file-using-hadoop](http://sarveshspn.blogspot.in/2012/02/how-to-produce-sorted- file-using-hadoop.html) – seahorse