在我正在編寫的Hadoop作業中,我想爲我的映射器/縮減器使用UTF-8編碼的字符串。我如何將UTF-8指定爲我的系統編碼?如果我在本地運行代碼,則可以執行java -Dfile.encoding="UTF-8"
,但是當我嘗試運行hadoop jap myjar.jar -Dfile.encoding="UTF-8"
時,這不起作用。指定Hadoop作業的UTF-8編碼
4
A
回答
2
默認情況下,Hadoop使用UTF-8
編碼,因此您不必提供此類選項。
我假設您使用Text
作爲您的鍵/值。按照javadoc:
3
「這一類存儲使用標準的UTF8編碼的文字:」我們發現,問題是,映射Java進程沒有-Dfile.encoding = UTF8。我們必須將其添加到「mapreduce.map.java.opts」。 「mapreduce.reduce.java.opts」也一樣。
你可以做到這一點的XML配置文件,以及在Java中,如:
config.set( 「mapreduce.map.java.opts」,「 - Xmx1843M -Dfile.encoding = UTF-8 「);
有關配置詳情,請參閱http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html。
相關問題
- 1. 指定併發hadoop作業中的地圖槽數
- 2. 如何編譯Hadoop 2.7.0上的MapReduce作業源代碼?
- 3. 如何在代碼中找到hadoop作業的作業ID?
- 4. C#UTF8編碼
- 5. UTF8編碼/€
- 6. C++ UTF8編碼
- 7. UTF8編碼含+
- 8. php utf8編碼
- 9. utf8和編碼
- 10. Grails的UTF8編碼
- 11. zookeeper如何確定hadoop作業的'java.library.path'?
- 12. 執行Hadoop作業
- 13. 提交Hadoop作業
- 14. Hadoop作業配置
- 15. Hadoop Streaming作業vs普通作業?
- 16. 如何從另一個hadoop作業提交hadoop作業
- 17. Hadoop的 - 在作業配置
- 18. 本地hadoop作業的dfs.block.size?
- 19. hadoop作業中的org.apache.hadoop.fs.BlockMissingException
- 20. 運行Hadoop作業的java.lang.OutOfMemoryError
- 21. Oozie的蜂巢Hadoop作業
- 22. UTF8編碼C#Webrequest
- 23. 編碼時爲UTF8
- 24. openshift php utf8編碼
- 25. knitr和UTF8編碼
- 26. UTF8編碼問題?
- 27. UTF8編碼問題
- 28. UTF8編碼無法解碼
- 29. UTF8 python編碼和解碼
- 30. PHP utf8編碼和解碼