我们数据中的一个字段是非英语(泰语)。我们可以将数据加载到hdfs中,运行时系统会正确显示非英语字段: hadoop fs -cat /datafile.txt
然而,当我们使用spark加载和显示数据时,所有的非英语数据都会显示 ??????????????
我们在运行spark时添加了以下内容:
System.setProperty("file.encoding", "UTF-8")
有其他人见过这个吗?在spark中使用非英语数据需要做什么?
我们在ubuntu 14.04上运行spark 1.3.0和scala 2.10.4。
我们要测试的命令是:
val textFile = sc.textFile(inputFileName)
textFile.take(10).foreach(println)
1条答案
按热度按时间xyhw6mcr1#
我们在docker上运行spark,问题是设置
locale
.设置
locale
在docker,你需要update-locale
然后使用source /etc/default/locale
. 重新启动docker不会为您执行此操作。感谢@lmm的启发。