SparkR DataFrame支持UTF-8字符(多语言支持)

时间:2015-11-21 08:08:15

标签: r character-encoding apache-spark locale sparkr

我已使用Scala验证数据框包含使用df.show()的非ascii UTF-8字符。 Spark-SQL还显示正确的编码。

但是,当我使用SparkR尝试showDF(df)时,UTF-8字符无法正常显示。我们如何让showDF(df)显示出来的UTF-8字符?

最初LOCALE=""& LANG="en_US.UTF-8" ...

1)将其设置为LANG="xx_XX.UTF-8",其中X是适当的语言标识符

2)Sys.setlocale("LC_ALL",locale="xx_XX.UTF-8") 但是showDF()仍然没有用母语显示字符

1 个答案:

答案 0 :(得分:2)

我明白了。

1)运行locale -a以找出系统上生成的区域设置 C C.UTF-8 POSIX en_US.utf8

表示ASCII字符编码和英语UTF-8可用。

2)为您的语言生成所需的区域设置。为了找出您的操作系统的语言环境,您需要搜索支持的语言/编码的i18n列表(对于Ubuntu,它位于/usr/share/i18n/SUPPORTED

找到编码后,运行sudo locale-gen ru_RU.UTF-8

3)然后,您可以设置LANG环境变量。对于bash,export LANG="ru_RU"

4)从您的终端运行R,您应该会看到目标语言的提示。

R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R -- это свободное ПО, и оно поставляется безо всяких гарантий.
Вы вольны распространять его при соблюдении некоторых условий.
Введите 'license()' для получения более подробной информации.

R -- это проект, в котором сотрудничает множество разработчиков.
Введите 'contributors()' для получения дополнительной информации и
'citation()' для ознакомления с правилами упоминания R и его пакетов
в публикациях.

Введите 'demo()' для запуска демонстрационных программ, 'help()' -- для

或者,您可以输入错误表达式以查看提示错误的语言。