Apache spark 使用配置单元中的utf-8字符编码选择数据

Apache spark 使用配置单元中的utf-8字符编码选择数据,apache-spark,hadoop,hive,beeline,spark-shell,Apache Spark,Hadoop,Hive,Beeline,Spark Shell,我正在从配置单元表/视图中选择数据,但spark shell或beeline不会拾取字符编码,但如果我正在从Ambari(直接通过配置单元)中选择相同的数据,但从命令行配置单元中选择相同的数据,则出于安全原因已禁用。 请参阅以下数据: Ambari Data: •Construction Maintenance • 524 N. Martin Luther King Jr. ‘SS-MN-BAE – Other’ ¿NPM¿ GOVT/GS SCD US ARM ¿MCCRAY,LORENZ

我正在从配置单元表/视图中选择数据,但spark shell或beeline不会拾取字符编码,但如果我正在从Ambari(直接通过配置单元)中选择相同的数据,但从命令行配置单元中选择相同的数据,则出于安全原因已禁用。 请参阅以下数据:

Ambari Data:

•Construction Maintenance 
• 524 N. Martin Luther King Jr.
‘SS-MN-BAE – Other’
¿NPM¿ GOVT/GS SCD US ARM
¿MCCRAY,LORENZO

beeline data:
?Construction Mai...
? 524 N. Martin L...
?SS-MN-BAE ? Other?
?NPM? GOVT/GS SCD...
?MCCRAY,LORENZO

Spark-shell Data:
?Construction Mai...
? 524 N. Martin L...
?SS-MN-BAE ? Other?
?NPM? GOVT/GS SCD...
?MCCRAY,LORENZO

如果有人知道我做错了什么,或者我需要设置任何参数来读取正确的字符集,请告诉我我已经在spark shell中尝试了java nio字符集,但没有任何结果。请引导我,Hadoop的新手。在选择数据之前,是否有办法通过命令行将字符集传递给beeline或spark shell?

这不是配置单元问题,而是文件系统或文件编码问题。在配置单元中选择*实际上除了从文件系统读取文件外,什么都不做。因此,如果在底层文件上运行hadoop fs cat,您应该会看到相同的行为。

这不是配置单元问题,而是文件系统或文件编码问题。在配置单元中选择*实际上除了从文件系统读取文件外,什么都不做。因此,如果在基础文件上运行hadoop fs cat,您应该会看到相同的行为。

要以正确的编码读取linux中的数据,在登录linux后,在我的配置文件中,我使用以下变量设置了字符类型:

export LANG="pt_PT.utf8"

并重新加载配置文件(如果它是bash_profile),然后
。bash_profile
如果它只是profile,则
。profile

要以正确的编码读取linux中的数据,在登录linux后,在我的配置文件中,我使用以下变量设置了字符类型:

export LANG="pt_PT.utf8"

并重新加载配置文件(如果它是bash_profile),然后
。bash_profile
如果它只是profile,则
。配置文件

是否有方法正确读取utf-8中的数据?底层文件也显示“?”。检查此链接,可能会有所帮助-非常感谢您的回复@ASK I found the solution。太好了。。。继续前进有没有一种方法可以正确读取utf-8?中的数据,底层文件也显示“?”。检查此链接,可能会有所帮助-非常感谢@ASK I found the solution的回复。太好了。。。继续前进
export LC_ALL="pt_PT.utf8"