hive jdbc连接时的乱码问题
来源:互联网 发布:淘宝天猫全年销售额 编辑:程序博客网 时间:2024/05/01 18:11
之前写了个web端的程序用来控制从oracle向hadoop导数据,同时在页面上可以通过jdbc调用hive,发现中文显示为乱码,因为是装在windows2003上
在网上查了一下,通过修改hive的jdbc包可以解决这个问题,将jdbc包里的org.apache.hadoop.hive.jdbc.HiveQueryResultSet文件修改后放回去,就可以了。
改这行: Object data = this.serde.deserialize(new BytesWritable(rowStr.getBytes()));
修改成: Object data = this.serde.deserialize(new BytesWritable(rowStr.getBytes("UTF-8")));
上传一个修改好的包:改好的hive-jdbc包
http://download.csdn.net/detail/sardtass/6873591
windows的编码默认是gbk,之前也遇到过在开发环境中文正常而生产环境中文乱码的问题,主要是因为windows的编码不是utf8的,这个编码不知道在哪改,但是在启动tomcat时可以设置-D参数,进行修改,在启动tomcat时加上 -Dfile.encoding=UTF-8 就可以了,但是这样调整以后通过myeclipse调用tomcat时,后台输出都会是乱码,因为myeclipse默认也使用gbk,myeclipse也需要设置。
后来发现是装hadoop的服务器语言配置有问题,改成utf8就好了。
盾环境的配置:
Properties pps=System.getProperties();
pps.list(System.out);
另外,通过jdbc调用hive的时候,如果语句中有中文会报错,注意看一下服务器上的语言配置,改为utf8,而且web端的默认语言也需要是utf8的。
使用java调hive的jdbc时,如果连接由tomcat管理,则需要在tomcat的lib下放1个hadoop-core-**.jar的包和4个hive的包core,jdbc,metastore,service还有2个libfb303-0.9.0(facebook的包,为什么还要有这个)和libthrift-0.9.0包。
- hive jdbc连接时的乱码问题
- hive jdbc连接时的乱码问题
- jdbc连接hive的问题
- jdbc连接hive超时的问题
- Hive的JDBC连接
- jdbc 连接 mysql 时的中文乱码问题
- jdbc 连接 mysql 时的中文乱码问题
- jdbc 连接 mysql 时的中文乱码问题
- jdbc 连接 mysql 时的中文乱码问题
- jdbc 连接 mysql 时的中文乱码问题
- JMeter JDBC连接Mysql时的乱码问题
- Jdbc 连接 Mysql 时的中文乱码问题
- Hive中文乱码(JDBC连接HiveServer2)问题解决
- Hive的JDBC连接方法
- jdbc 连接mysql乱码问题
- JDBC连接MySQL的乱码问题之解决方法
- JDBC连接MySQL 插入中文数据的乱码问题
- 解决jdbc连接informix乱码问题
- c++引用学习笔记
- URL地址中的转义符
- C++中Overload、Overwrite和Override区别
- SPEC脚本及RPM打包
- WEB.XML文件加载顺序问题研究
- hive jdbc连接时的乱码问题
- 自己加的button样式
- JS中showModalDialog 详细使用
- automake跨目录和自定义参数
- 用delphi制作无界面的activex控件
- oracle里大数据保存至CLOB解决方法
- Eclipse中最常用的10个快捷键
- SVG初级教程
- 分享是一种美德!