hive jdbc连接时的乱码问题
之前写了个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连接时的乱码问题相关推荐
- JDBC 连接 MySQL 中文乱码问题
JDBC 连接 MySQL 中文乱码问题 前言 最近在写小项目,用到了上个月刚学的mysql和 JDBC,在java查询时出现了中文乱码,在网络上查询资料,发现相关问题比较混乱,故整理一下解决方法. ...
- JDBC连接时的一些问题
package com.chanda.connection;/*** @author 禅达啊* @date 2020/9/22 15:46*/ import org.junit.Test;import ...
- JDBC连接时所犯错误1.字符集设置不合适2.连接MySQL8.0社区版时时区不一致3..包名不能以Java.命名4.驱动被弃用
Microsoft JDBC Driver 的主页为:https://msdn.microsoft.com/en-us/data/aa937724.aspx 下载所需驱动 今天连接时报了四次错,记录下 ...
- mysql8.0JDBC驱动下载以及JDBC连接时遇到的问题
笔者最近重温JDBC,由于换了数据库版本,安装了最新的mysql8.0.26,在编写java代码时仍然用5版本的驱动是行不通的,一直是连接不到数据库的. 于是就去官网下了最新版本的驱动. 下载地址: ...
- Hive load data 时中文乱码的解决
检查建表的字段分隔符,我的是 制表符(\t) 所以在保存为文本文件的时候要注意是要用制表符(\t)分隔 最重要的一步: 保存文本文件的时候要注意,文件编码要为无BOM头的UTF-8编码 最后执行命令即 ...
- jdbc-connect-oracle12c-pdb/cdb(jdbc连接oracle12c的pdb和cdb)
1 本文简介: 通过特意引发问题,聚焦问题,解决问题,并循序渐进 最后总结jdbc连接oracle12c中cdb和pdb的条件. 软件环境:Redhat7.1+orcacle12c 2 ...
- impala 连接mysql_impala系列: 基本命令和jdbc连接
--======================= 使用impala-shell 登录 --======================= impala-shell --auth_creds_ok_i ...
- JDBC连接SQL Server 2005问题
java.sql.SQLException: Network error IOException: Connection refused: connectCaused by: java.net.Con ...
- 数据层优化-jdbc连接池简述、druid简介
终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和dao层的优化 ...
最新文章
- 自控力极差的人如何自救?两个方法战胜拖延!
- ASP.NET Core Web APi获取原始请求内容
- session cookie
- 查看Mat对象的数据的三种方法
- 卷积神经网络的网络层与参数的解析
- PW Live 直播 | 清华大学王晓智:事件抽取的进展与挑战
- Docker入门总结
- 使用 Tye 辅助开发 dotnet 应用程序
- leetcode 480. 滑动窗口中位数(堆+滑动窗口)
- 一个极其高效的虚拟机内存冗余消除机制:UKSM
- python 读取excel表格_python 对Excel表格的读取
- 抽象工厂模式_设计模式——抽象工厂模式
- 【操作系统/OS笔记12】同步互斥的三种实现方法:禁用硬件中断、基于软件的解决方案、更高级的抽象
- 软件项目验收汇报ppt_扔掉你收藏的PPT吧,设计院专用项目汇报模板来袭(68GB)!...
- Ubuntu系统安装JDK教程
- HTML和JavaScript学习笔记
- 超图android离线瓦片,android端实践openlayers离线地图
- JDO与JPA哪个更好?
- Windows 下 Quartus 检测不到 USB-Blaster 终极解决办法
- 区块链10年兴衰录:中国是最好的发展土壤