hive jdbc连接时的乱码问题
来源:互联网 发布:kali linux怎么安装 编辑:程序博客网 时间:2024/05/01 15:55
之前写了个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乱码问题
- java开发微信公众号:本地调试环境搭建与测试公众号
- html屏蔽浏览器右键、禁止复制的实现
- 侧滑控件Navigation
- jsp过大导致编译失败解决方法
- Caffe的安装:ubuntu16.04+gtx1060+cuda8.0
- hive jdbc连接时的乱码问题
- GPS以中心点为圆心,指定距离为半径获取随机坐标点
- 实现投票功能
- 循环队列的结构及其操作
- MFC防止enter和ESC键使程序退出方法
- java中static的作用精讲
- 关于css3中linear-gradient中的百分比
- Android——Listview加载网络图片问题(一)
- Oracle之排序