2015-12-17 56 views
1

我是SparkR新手,這幾天我遇到一個問題,就是在將一個包含中文字符的文件轉換成SparkR後,它不會再正常顯示了。就像這樣:SparkR顯示中文字符錯誤

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

然後,我創建了一個基於在SparkR一個DataFram,並收集出來,eveything改變。

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 
+0

是的,我附上了它,問題是語言環境?也許我應該嘗試修改它。對不起,我沒有什麼不對,但是我以前找不到你的評論... –

回答

0

這是一個已知的問題(影響一般Unicode字符),並已經在1.6解決。見SPARK-8951。你可以打補丁和重建1.5或升級到1.6

+0

非常感謝!我已將環境升級到1.6,並且一切正常!很高興看到它現在支持中文。 –