我想知道在MapReduce應用程序中讀取Java屬性文件的標準做法以及在提交(開始)作業時如何將位置傳遞給它。 在常規Java應用程序中,您可以將該位置作爲JVM系統屬性(-D)或主方法的參數傳遞給屬性文件。 MapReduce作業的最佳選擇(標準實踐)是什麼?一些好的例子會很有幫助。讀取Hadoop MapReduce應用程序中的Java屬性文件
1
A
回答
2
最好的選擇是使用DistributedCache
,但它可能不是標準的方法。可以有其他方法。但到目前爲止,我還沒有看到任何其他代碼。
這個想法是將文件添加到緩存中,並在setup
map/reduce的方法內讀取並將其加載到Properties
或Map
中。如果你需要片段,我可以添加。
哦,我記得,我的朋友JtheRocker使用了另一種方法。他將文件的全部內容與Configuration
對象中的一個鍵相關聯,然後在setup
上得到它的值,然後解析&加載Map
中的對。在這種情況下,文件讀取是在驅動程序上完成的,而以前是在任務方面。雖然它適用於小文件,看起來更清潔,但正統人士可能根本不喜歡污染conf
。
我想看看,其他職位帶出。
相關問題
- 1. 無法讀取Java Web應用程序中的屬性文件?
- 2. 用Java程序讀取Java的屬性文件
- 3. 如何讀取Web應用程序中的屬性文件?
- 4. Singleton在Java Web應用程序中讀取屬性文件;正確的做法?
- 5. Java應用程序屬性文件
- 6. Hadoop MapReduce讀取和寫入序列文件
- 7. 以編程方式讀取Hadoop Mapreduce程序的輸出
- 8. 用java讀取文件屬性
- 9. eclipse中java應用程序的文件屬性
- 10. java應用程序沒有在IDE中設置工作文件夾的情況下讀取屬性文件
- 11. 何時讀取Java Web應用程序中的.properties文件
- 12. 如何從Java EE Web應用程序訪問屬性文件?
- 13. 打包Java應用程序時,jar文件中不包含屬性文件
- 14. 如何在springboot應用程序中從yaml文件讀取屬性值?
- 15. 如何以編程方式從Android應用程序讀取gradle文件屬性
- 16. hadoop mapreduce映射器從文本文件中讀取不正確的值
- 17. Hadoop中的MapReduce
- 18. 使用java讀取文本文件的元數據/屬性(.txt)
- 19. 導出的Eclipse RCP應用程序讀取本地屬性文件
- 20. 比較Hadoop MapReduce中的兩個文件
- 21. 從屬性文件讀取
- 22. 在讀取屬性文件
- 23. Java Webstart應用程序 - 從單獨的文件加載屬性
- 24. 在Hadoop MapReduce中緩存Map應用程序?
- 25. Websphere應用程序EAR屬性文件
- 26. 讀取Pyspark中的屬性文件
- 27. 讀取Servlet中的屬性文件
- 28. 從WCF服務中讀取全局應用程序屬性
- 29. 如何從我的Java應用程序讀取圖像文件?
- 30. 從java中的兩個屬性文件中讀取值?
感謝您的回答!這似乎是一個好方法。如果我錯了,請糾正我的錯誤,但似乎仍然需要對文件的位置進行硬編碼,以便將其添加到DistributedCache。你知道這是否有任何解決方法嗎? – Frank 2014-11-05 19:26:58
u'll將propFilePath添加到驅動程序緩存中,所以只需將它作爲命令行參數傳遞,不需要硬編碼。現在做一些類似'conf.set(「my.prop.file.name」,new Path(propFilePath).getName()。toString)'來獲取map/reduce中文件名爲my.prop.file的關鍵字。名字'你必須有硬編碼。 – blackSmith 2014-11-06 03:56:56
謝謝!這是迄今爲止我看到的最好的方法。 – Frank 2014-11-06 18:26:53