通过jdbc方式连接hive,能让你非常方便、简单地去使用hadoop挖掘数据,门槛大大降低。其实连接方式很简单,但是第一次使用,总会有些莫名奇妙的错误,下面给出一些注意事项,希望对初学者有帮助。
首先我的环境:hadoop2.4.0+hive0.14.0。
所需jar包:
<classpathentry kind="lib" path="lib/commons-collections-3.2.1.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.1.3.jar"/>
<classpathentry kind="lib" path="lib/hadoop-common-2.4.0.jar"/>
<classpathentry kind="lib" path="lib/libfb303-0.9.0.jar"/>
<classpathentry kind="lib" path="lib/httpclient-4.2.5.jar"/>
<classpathentry kind="lib" path="lib/httpcore-4.2.5.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/slf4j-log4j12-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/hive-exec-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hive-jdbc-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hive-metastore-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hive-service-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hadoop-mapreduce-client-core-2.4.0.jar"/>
如果你运行程序出现以下错误:
java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set.
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
解决方案:
1、System.setProperty("hadoop.home.dir", "D:/hadoop-2.4.0");
2、下载winutils.exe https://github.com/srccodes/hadoop-common-2.2.0-bin/blob/master/bin/winutils.exe
附上测试代码:
public class HiveJdbcClient2 { private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; /** * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { System.setProperty("hadoop.home.dir", "D:/hadoop-2.4.0"); BasicConfigurator.configure(); try { Class.forName(driverName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.exit(1); } Connection con = DriverManager.getConnection("jdbc:hive://127.0.0.1:10000/defalt", "",""); Statement stmt = con.createStatement(); //stmt.executeQuery("drop table test"); stmt.executeQuery("create table if not exists test(amount DOUBLE, st_name string) " + "ROW FORMAT DELIMITED " + "FIELDS TERMINATED BY '\t' " + "STORED AS TEXTFILE"); //stmt.executeQuery("load data inpath '/user/hive_data/test_data.txt' into table gas"); long st = System.currentTimeMillis(); ResultSet res = stmt.executeQuery("select st_name,sum(amount) c from test group by st_name sort by c"); int i=0; while (res.next()) { i++; System.out.println(res.getString(1)+" - "+res.getString(2)); } long en = System.currentTimeMillis(); System.out.println("总耗时:"+(en-st)+",记录总数:"+i); } }
相关推荐
hive jdbc 连接所需要的所有jar包,很全的,不需要再下载其他的
hive-jdbc
hive权限,通过自定义jar对hive的10000端口进行权限管控,直接放入到hive所在的lib环境下,然后对xml文件进行相应的配置
hive_jdbc,经过测试可以连接的。有需要的可以下载看下。hive_jdbc,经过测试可以连接的。有需要的可以下载看下。
hive jdbc驱动 2.5.15 及 2.6.1两个版本,亲测有用!!!
hive JDBC连接实例 maven工程
hive jdbc jar包用于hive连接数据库驱动
cloudera.com为我们提供的hiveserver2-JDBC驱动包,不需要把10几个jar找齐就能使用了。
可用于数据库客户端连接、FineReport 等报表工具连接 包含 Jar 包列表: 01、hadoop-common-3.0.0-cdh6.3.1.jar 02、hive-exec-2.1.1-cdh6.3.1.jar 03、hive-jdbc-2.1.1-cdh6.3.1.jar 04、hive-jdbc-2.1.1-cdh6.3.1-...
这是用于与HIVE建立JDBC连接的驱动jar包,经过测试,是可以使用的。
jdbc连接hive数据库的jar包.整理可用合集.
hive2.3.2 JDBC连接 ,sql developer可用。选择第三方jdbc,加入,就可以显示hive连接。用的cloudra的jdbc用于连接操作数据库,java开发请使用maven获取开源组件。
jdbc连接hive的小示例程序,使用方法: 1、在Hadoop服务器上启动远程服务接口,命令: nohup hive --service hiveserver 10000 & (指定端口启动) 2、将test主程序里的IP改为自己用的Hadoop服务器ip,即可使用。
hive的驱动包,支持使用jdbc的方式连接hive组件,可在客户端使用sql进行数据库操作
解压缩并转到Cloudera_HiveJDBC41_xxx文件夹。 将所有罐子从那里复制到lib文件夹。 JDBC API v3.x支持JRE v4.0或v5.0 JDBC API v4.x支持JRE v6.0或更高版本JDBC API v4.1.x支持JRE v7.0或更高版本适用于Apache Hive...
本项目对如何在Springboot项目中整合hive-jdbc进行简单示例和介绍,亲测可用,请放心下载。
HiveJDBC驱动可直接配合DBeaver使用,新建连接 -> Apache Hive ->编辑驱动设置(删除默认地址) ->添加文件 ->选中下载的文件 ->点击找到类 ->确定
jdbc 连接impala或者jdbc连接hive所需的jar包。
hive连接jdbc的jar包: hive-jdbc-1.1.0.jar
driver = "org.apache.hive.jdbc.HiveDriver" user = "hive" password = "hive" table = ods_wjw_jb_gxy_hz_glk query = "select a,b,c from ods_wjw_jb_gxy_hz_glk" fetch_size = 300 } }