spark utf 8错误,非英语数据变为“????????”`

busg9geu  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(337)

我们数据中的一个字段是非英语(泰语)。我们可以将数据加载到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)
xyhw6mcr

xyhw6mcr1#

我们在docker上运行spark,问题是设置 locale .
设置 locale 在docker,你需要 update-locale 然后使用 source /etc/default/locale . 重新启动docker不会为您执行此操作。
感谢@lmm的启发。

相关问题