我剛剛通過MapReduce中的單詞計數示例。地圖功能非常簡單。是否有更高級別的函數來決定文件的哪一部分轉到哪個映射器? 假設您依賴於依賴於整個文件輸入的函數(如SHA1),是否有任何要求框架不要拆分文件?在MapReduce中給映射器提供輸入
0
A
回答
2
是否有決定的文件的哪一部分去什麼映射更高層次的功能?
當某個節點上的地圖空閒空閒時,調度程序會選擇一個離節點最近的分割點,以儘可能避免數據傳輸。如果未處理的輸入拆分與自由地圖插槽在同一節點上,則處理該拆分,否則將選擇同一機架中的拆分,或者選擇機架外的拆分。
有沒有告訴框架不要拆分文件?
執行FileInputFormat#isSplitable()。然後,輸入文件不會被拆分,並且每個地圖都會被處理一個。
import org.apache.hadoop.fs.*;
import org.apache.hadoop.mapred.TextInputFormat;
public class NonSplittableTextInputFormat extends TextInputFormat {
@Override
protected boolean isSplitable(FileSystem fs, Path file) {
return false;
}
}
1
您可以在Hadoop中編寫自定義InputSplit和RecordReader。您可以編程這些方法來告訴框架以您想要的方式拆分輸入文件。
相關問題
- 1. MapReduce的字計數例提供了兩個映射器V2.5.1
- 2. 如何將數據提供給Hadoop中的映射器?
- 3. 在Hadoop MapReduce中可以有多個不同映射器的輸入嗎?
- 4. DynamoDB映射器「batchLoad()」輸入
- 5. 沒有提供表映射
- 6. 從Hadoop中的映射器生成多個輸出文件MapReduce
- 7. 映射器輸入鍵值對Hadoop中
- 8. 在MongoDB中替換()MapReduce映射函數
- 9. MapReduce:如何將HashMap傳遞給映射器
- 10. 將一組圖像作爲輸入映射到mapreduce
- 11. hadoop mapreduce只執行一個映射器
- 12. 的Python的MapReduce:從映射器
- 13. 從映射器輸出獲得前N項 - MapReduce的
- 14. 在Hadoop中對多個輸出目錄使用多個映射器MapReduce
- 15. Hadoop:提供目錄作爲MapReduce作業的輸入
- 16. 在mapreduce中殺死帶有錯誤文件的映射器
- 17. Unmarshalling推土機映射文件提供一個映射庫
- 18. SimpleGeo是否提供郵政編碼給緯度/經度映射?
- 19. 在春天提供匿名訪問請求映射/控制器
- 20. 在MapReduce映射器之間共享計數器值
- 21. 的Hadoop MapReduce的:驅動程序的MapReduce工作中鏈接映射器
- 22. 爲什麼MapReduce在映射步驟中將每個值都映射爲1?
- 23. 在輸入文件和簡化器上對簡單的hadoop mapreduce作業運行兩個映射器
- 24. 無法集中並給Qt5中的小部件提供輸入
- 25. 在Elastic MapReduce上本地提供文件
- 26. 如何向JDBI映射器提供每行參數?
- 27. 通過數據提供程序返回映射的迭代器
- 28. 如何爲keycloak身份提供者定義映射器?
- 29. 在映射器
- 30. MongoDB的MapReduce的映射函數
檢查我的反應,更好的方式不分裂輸入文件。 –