Java JDBC方式连接HIVE2
2015-09-09 13:33
627 查看
一般连接hive的方式有CLI(登录到服务器或者本地切换到hive环境),Client(SQUIREEL SQL客户端),Web UI(hive --service hwi )等
Java 操作JDBC同普通JDBC数据库一样,首先需要启动Hive 服务打开bin/hive --service hiveserver -p 10000
依赖的jar:
或者maven:
如果报错:
org.apache.thrift.TApplicationException: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null)
则极可能的原因是你项目的hive-jdbc版本和服务器不一致的原因造成的,替换成和服务器一致的版本就可以了,PS:hive前期版本中bug较多,推荐使用最新的版本
参考:http://www.iteblog.com/archives/846
Java 操作JDBC同普通JDBC数据库一样,首先需要启动Hive 服务打开bin/hive --service hiveserver -p 10000
public List<Integer> getDocIds(String reportDate){ List<Integer> docIds = new ArrayList<Integer>(); try { System.out.println("get apps..."); Class.forName("org.apache.hive.jdbc.HiveDriver"); Connection conn = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "hadoop", ""); String quary_sql = "use <span style="font-family: Arial, Helvetica, sans-serif;">default</span>"; PreparedStatement stmt = conn.prepareStatement(quary_sql); stmt.execute(quary_sql); quary_sql = "select * from t_docid where report_date>=?"; stmt = conn.prepareStatement(quary_sql); stmt.setString(1, reportDate); ResultSet rs = stmt.executeQuery(); while (rs.next()) { docIds.add(rs.getInt(1)); } return docIds; }catch (Exception e){ e.printStackTrace(); } return docIds; }
依赖的jar:
hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar $HIVE_HOME/lib/hive-exec-0.11.0.jar $HIVE_HOME/lib/hive-jdbc-0.11.0.jar $HIVE_HOME/lib/hive-metastore-0.11.0.jar $HIVE_HOME/lib/hive-service-0.11.0.jar $HIVE_HOME/lib/libfb303-0.9.0.jar $HIVE_HOME/lib/commons-logging-1.0.4.jar $HIVE_HOME/lib/slf4j-api-1.6.1.jar
或者maven:
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>0.11.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.2.0</version> </dependency>
如果报错:
则极可能的原因是你项目的hive-jdbc版本和服务器不一致的原因造成的,替换成和服务器一致的版本就可以了,PS:hive前期版本中bug较多,推荐使用最新的版本
参考:http://www.iteblog.com/archives/846
相关文章推荐
- 《Java编程思想》(第4版)学习总结
- Nutch2.X In Eclipse
- 解决eclipse+MAVEN提示One or more constraints have not been satisfied.的问题
- Struts2类型转换(一)----常规类型,自定义类型,错误处理
- Eclipse快捷键 10个最有用的快捷键
- Spring的事务传播属性,数据库的隔离级别
- Struts2类型转换(二)----集合类型
- java环境变量配置
- javaweb开发中关于字符编码出现乱码问题的总结
- java生成缩略图,旋转,水印,截图
- Java的接口含义--后续添加抽象类的定义
- Java得到的一周的最后一天的一段时间内
- java.lang.NoClassDefFoundError: com/google/gson/Gson错误的解决
- springMVC controller间跳转 重定向 传递参数的方法
- (2.3.10)理解JAVA数组
- 格雷码Java
- JAVA延时
- Fresco 最全最简单的Fresco 可以导入Eclipse FrescoDemo并且直接可以运行
- Eclipse 或myEclipse中设置JVM 内存
- Java字符串反转