hive客户端表字段查询中文乱码该怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive客户端表字段查询中文乱码该怎么解决?相关的知识,希望对你有一定的参考价值。

提交查询之后的Session is in QUERY_RUNNING state. Changes are not possible! 这个是什么状态?

  在通过终端查询hive时,终端结果显示为乱码,想必大家都遇到过这种情况。这种情况出现的原因是:hive在将数据写入hdfs时候,会把数据格式转换为utf-8格式的。如果你导入hive表的源数据不是utf-8格式的,hive在进行写hdfs转换格式的时候会出现乱码,所有你查询出来的中文也是乱码。
  解决办法如下:
  1、把源文件,用editplus等编辑软件打开,将文件转换为urf-8格式,保存。再重新导入到hive表中,问题解决。
  2、源文件只要是文本格式,如csv,txt,log等文本格式,均可用此种方法转化。前提是你终端也要设置为utf-8格式。
参考技术A 任务在执行,不能进行其他操作。追问

有的时候是明明执行完了,有的时候是根本就卡死了,很长时间走不了。

追答

有时候会有卡死现象。
执行完了?怎么确定执行完了?

有时候会有卡死现象。
执行完了?怎么确定执行完了?

sql server2005远程连接oracle11g查询结果中文乱码,怎么解决?

openquery查询oracle的数据,结果中文全部是乱码。sqlserver 的排列规则是Chinese_PRC_CI_AS,oracle11g的字符集是AMERICAN_AMERICA.AL32RTF8。
请问要怎么才能让中文不乱码啊?
打错了,是AMERICAN_AMERICA.AL32UTF8。

远程连接oracle11g查询结果中文乱码是客户端和服务端编码设置不同引起的。
1、检查windows7下面cmd里面sqlplus中oracle server端的字符集。
打开cmd,用sqlplus登录,输入下面SQL查询服务端的字符集。
2、去后台linux查看字符集编码,
(1),查看profile文件
[oracle@powerlong4 ~]$ vim/home/oracle/.bash_profile
export LANG=en_US.gbk
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
(2),查看数据库的userenv
SQL> select userenv(\'language\') fromdual;
USERENV(\'LANGUAGE\')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
改成ZHS16GBK就不会有中文乱码了。
参考技术A 设置过NLS_LANG环境变量了么?

试试 export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

后再查一下?

以上是关于hive客户端表字段查询中文乱码该怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

hive表查询中文显示乱码

Hive 字段和表注释乱码

Hive中文注释乱码解决方案

Hive中文注释乱码解决方案

使用Spark 编码 写入 hive 的过程中 hive字段乱码 [解决方案]

使用Spark 编码 写入 hive 的过程中 hive字段乱码 [解决方案]