SparkR显示中文字符错误

时间:2015-12-17 17:41:44

标签: r unicode apache-spark sparkr

我是SparkR的新手,这些天我遇到了一个问题,即在将包含中文字符的文件转换为SparkR后,它将不再正常显示。像这样:

city=c("北京","上海","杭州")
A <- as.data.frame(city)
A
  city
1 北京
2 上海
3 杭州

然后,我在SparkR的基础上创建了一个DataFram,并将其收集起来,改变了一切。

collect(createDataFrame(sqlContext,A))
      city
1 \027\xac
2      \nw
3    m\xde

我不知道如何将它们转换回可读的中文字符,甚至希望我能在SparkR中获得可读字符,这对我来说应该很方便调试。

我使用linux服务器,不确定它是否与此相关。有人知道吗?

下面是sessionInfo()

> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server 7.2 (Maipo)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] SparkR_1.5.2

loaded via a namespace (and not attached):
[1] tools_3.2.2

1 个答案:

答案 0 :(得分:0)

这是一个已知问题(一般会影响Unicode字符),并且已在1.6中解决。见SPARK-8951。您可以修补和重建1.5或升级到1.6