我想知道在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應用程序中讀取外部屬性文件
- 3. 用Java程序讀取Java的屬性文件
- 4. 如何讀取應用程序引擎應用程序中的屬性文件?
- 5. 如何讀取Web應用程序中的屬性文件?
- 6. 循環讀取和從外部讀取hadoop HDFS文件Java應用程序
- 7. Singleton在Java Web應用程序中讀取屬性文件;正確的做法?
- 8. Java應用程序屬性文件
- 9. 從Web應用程序的根讀取屬性文件
- 10. 在hadoop應用程序中讀取和寫入CSV文件
- 11. 在hadoop中使用mapreduce讀取大文件
- 12. Hadoop MapReduce讀取和寫入序列文件
- 13. 以編程方式讀取Hadoop Mapreduce程序的輸出
- 14. 用java讀取文件屬性
- 15. 在java中讀取屬性文件
- 16. 如何通過前綴讀取應用程序屬性文件?
- 17. Maven不讀取應用程序屬性文件
- 18. MapReduce - 使用hadoop配置對象讀取文本文件
- 19. 讀取hadoop mapreduce中的2個輸入文件
- 20. hadoop mapreduce model java
- 21. 的Hadoop MapReduce的用java
- 22. 從文件讀取Java屬性組
- 23. java web應用程序中的屬性文件
- 24. eclipse中java應用程序的文件屬性
- 25. java應用程序沒有在IDE中設置工作文件夾的情況下讀取屬性文件
- 26. Hadoop MapReduce與已排序的文件
- 27. 無法讀取Java Web應用程序中的文件
- 28. 何時讀取Java Web應用程序中的.properties文件
- 29. 如何從Java EE Web應用程序訪問屬性文件?
- 30. 打包Java應用程序時,jar文件中不包含屬性文件
感謝您的回答!這似乎是一個好方法。如果我錯了,請糾正我的錯誤,但似乎仍然需要對文件的位置進行硬編碼,以便將其添加到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