- 浏览: 307770 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (165)
- hadoop (47)
- linux (11)
- nutch (7)
- hbase (7)
- solr (4)
- zookeeper (4)
- J2EE (1)
- jquery (3)
- java (17)
- mysql (14)
- perl (2)
- compass (4)
- suse (2)
- memcache (1)
- as (1)
- roller (1)
- web (7)
- MongoDB (8)
- struts2 (3)
- lucene (2)
- 算法 (4)
- 中文分词 (3)
- hive (17)
- noIT (1)
- 中间件 (2)
- maven (2)
- sd (0)
- php (2)
- asdf (0)
- kerberos 安装 (1)
- git (1)
- osgi (1)
- impala (1)
- book (1)
- python 安装 科学计算包 (1)
最新评论
-
dandongsoft:
你写的不好用啊
solr 同义词搜索 -
黎明lm:
meifangzi 写道楼主真厉害 都分析源码了 用了很久. ...
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker -
meifangzi:
楼主真厉害 都分析源码了
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker -
zhdkn:
顶一个,最近也在学习设计模式,发现一个问题,如果老是看别人的博 ...
Java观察者模式(Observer)详解及应用 -
lvwenwen:
木南飘香 写道
高并发网站的架构
Hive的JDBC连接
博客分类: hive
JDBCDerbySQLSQL ServerHadoop
一、环境
Hadoop 0.20.2版本、Hive-0.5.0版本、JDK1.6
二、使用目的
1、一般来说我们对hive的操作都是通过cli来进行,也就是Linux的控制台,但是,这样做本质上是每个连接都存放一个元数据,各个之间都不相同,所以,对于这样的模式我建议是用来做一些测试比较合适,并不适合做产品的开发和应用。
2、因此,就产生的JDBC连接的方式,当然还有其他的连接方式,比如ODBC等。
三、连接的配置
1、修改hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!--表示使用嵌入式的derby,create为true表示自动创建数据库,数据库名为metastore_db-->
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
<!--表示使用客服模式的derby,hadoopor为数据库名,192.168.0.3为derby服务端的IP地址,而4567为服务端的端口号-->
<!--<value>jdbc:derby://192.168.0.3:4567/hadoopor;create=true</value>—>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value> 表示使用嵌入式的derby
<!--<value>org.apache.derby.jdbc.ClientDriver</value>--> 表示使用客服模式的derby
<description>Driver class name for a JDBC metastore</description>
</property>
2、对于嵌入式的derby要求在hive的lib目录下有文件derby.jar,而对于客服模式的derby要求有derbyclient.jar文件,这个文件需要自己去下载。
3、配置完成之后,输入hive --service hiveserver,可以启动服。
四、实例代码
主要是通过JDBC连接Hive的源代码。
public class HiveJdbcClient {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection("jdbc:hive://IP:10000/default", "", "");
Statement stmt = con.createStatement();
String tableName = "http_test";
// stmt.executeQuery("drop table " + tableName);
// ResultSet res = stmt.executeQuery("create table " + tableName + " (key int, value string)");
// show tables
String sql = "show tables ";
System.out.println("Running: " + sql);
ResultSet res = stmt.executeQuery(sql);
if (res.next()) {
System.out.println(res.getString(1));
}
// describe table
sql = "describe " + tableName;
System.out.println("Running: " + sql);
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1) + "\t" + res.getString(2));
}
// load data into table
// NOTE: filepath has to be local to the hive server
// NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line
/**
* String filepath = "/tmp/a.txt"; sql = "load data local inpath '" + filepath + "' into table " + tableName;
* System.out.println("Running: " + sql); res = stmt.executeQuery(sql);
*
* // select * query sql = "select * from " + tableName; System.out.println("Running: " + sql); res =
* stmt.executeQuery(sql); while (res.next()) { System.out.println(String.valueOf(res.getInt(1)) + "\t" +
* res.getString(2)); }
*
* // regular hive query sql = "select count(1) from " + tableName; System.out.println("Running: " + sql); res =
* stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1)); }
*/
}
}
五、总结
1、可以参看一下这个连接:http://bbs.hadoopor.com/thread-219-1-3.html
2、wiki的资料,比较权威的,可以看看:http://wiki.apache.org/hadoop/Hive/HiveClient
3、淘宝也有相关的资料,可以看看:http://www.tbdata.org/archives/499
4、转载自:http://dajuezhao.iteye.com/blog/795185
博客分类: hive
JDBCDerbySQLSQL ServerHadoop
一、环境
Hadoop 0.20.2版本、Hive-0.5.0版本、JDK1.6
二、使用目的
1、一般来说我们对hive的操作都是通过cli来进行,也就是Linux的控制台,但是,这样做本质上是每个连接都存放一个元数据,各个之间都不相同,所以,对于这样的模式我建议是用来做一些测试比较合适,并不适合做产品的开发和应用。
2、因此,就产生的JDBC连接的方式,当然还有其他的连接方式,比如ODBC等。
三、连接的配置
1、修改hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!--表示使用嵌入式的derby,create为true表示自动创建数据库,数据库名为metastore_db-->
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
<!--表示使用客服模式的derby,hadoopor为数据库名,192.168.0.3为derby服务端的IP地址,而4567为服务端的端口号-->
<!--<value>jdbc:derby://192.168.0.3:4567/hadoopor;create=true</value>—>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value> 表示使用嵌入式的derby
<!--<value>org.apache.derby.jdbc.ClientDriver</value>--> 表示使用客服模式的derby
<description>Driver class name for a JDBC metastore</description>
</property>
2、对于嵌入式的derby要求在hive的lib目录下有文件derby.jar,而对于客服模式的derby要求有derbyclient.jar文件,这个文件需要自己去下载。
3、配置完成之后,输入hive --service hiveserver,可以启动服。
四、实例代码
主要是通过JDBC连接Hive的源代码。
public class HiveJdbcClient {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection("jdbc:hive://IP:10000/default", "", "");
Statement stmt = con.createStatement();
String tableName = "http_test";
// stmt.executeQuery("drop table " + tableName);
// ResultSet res = stmt.executeQuery("create table " + tableName + " (key int, value string)");
// show tables
String sql = "show tables ";
System.out.println("Running: " + sql);
ResultSet res = stmt.executeQuery(sql);
if (res.next()) {
System.out.println(res.getString(1));
}
// describe table
sql = "describe " + tableName;
System.out.println("Running: " + sql);
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1) + "\t" + res.getString(2));
}
// load data into table
// NOTE: filepath has to be local to the hive server
// NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line
/**
* String filepath = "/tmp/a.txt"; sql = "load data local inpath '" + filepath + "' into table " + tableName;
* System.out.println("Running: " + sql); res = stmt.executeQuery(sql);
*
* // select * query sql = "select * from " + tableName; System.out.println("Running: " + sql); res =
* stmt.executeQuery(sql); while (res.next()) { System.out.println(String.valueOf(res.getInt(1)) + "\t" +
* res.getString(2)); }
*
* // regular hive query sql = "select count(1) from " + tableName; System.out.println("Running: " + sql); res =
* stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1)); }
*/
}
}
五、总结
1、可以参看一下这个连接:http://bbs.hadoopor.com/thread-219-1-3.html
2、wiki的资料,比较权威的,可以看看:http://wiki.apache.org/hadoop/Hive/HiveClient
3、淘宝也有相关的资料,可以看看:http://www.tbdata.org/archives/499
4、转载自:http://dajuezhao.iteye.com/blog/795185
发表评论
-
博客地址变更
2013-08-16 10:29 1247all the guys of visiting the bl ... -
hive 复杂数据结构嵌套
2013-03-14 16:03 5056Hive hive 除了支持基本的数据结构 hive 复 ... -
hive topN 实现
2012-12-14 06:51 2013hive的topN实现 hive的topN实现方式有很多种, ... -
Hive与表操作有关的语句
2012-12-03 14:25 1447Hive与表操作有关的语句 1.创建表的语句: Create ... -
hive参数
2012-11-29 10:18 0第一部分:Hive 参数 hive ... -
hive中的LEFT SEMI JOIN
2012-11-28 14:06 2035hive中的LEFT SEMI JOIN LEFT S ... -
hive 自定义udf
2012-10-24 10:42 1384Hive的预定义UDF函数列表如下 abs(x) - ret ... -
hive Sort By/Order By/Cluster By/Distribute By
2012-10-22 16:51 1105hive Sort By/Order By/Cluster B ... -
hive的权限控制
2012-10-09 17:48 1662hive的权限控制 hiveserver 不支持 并发的访 ... -
hive 基本数据类型
2012-08-30 18:53 0同事整理的,大部分原文摘过来,有少量改动。 1. 基本数据类 ... -
hive cli 操作表分区
2012-08-10 14:04 1304hive表分区 必须在表定义时创建partition a、 ... -
Hive 数据倾斜总结
2012-08-03 14:19 1126Hive 数据倾斜总结 转载:http://www.tbda ... -
hive中 array,map
2012-04-11 23:03 0关于map的操作说明: drop table table2; ... -
hive array数组
2012-04-11 22:58 0hive中的ARRAY类型array是hive中的数组类型 ... -
hive partitions 操作
2012-04-11 11:00 0必须在表定义时创建partition a、单分区建表语句:c ... -
hive 表分区使用
2012-04-09 14:59 0hive表分区 必须在表定义时创建partition ... -
hive执行作业时reduce任务个数设置为多少合适?
2012-04-05 18:05 1376Hive怎样决定reducer个数? Hadoop MapR ... -
hive 操作语句
2012-02-13 14:13 1023https://cwiki.apache.org/conflu ... -
hive+hbase整合
2012-02-03 16:48 6122用hbase做数据库,但由于hbase没有类sql查询方式, ... -
使用MySQL作为Hive的Metastore
2012-02-01 17:56 2026使用MySQL作为Hive的Metastore 前提是成功 ...
相关推荐
cloudera.com为我们提供的hiveserver2-JDBC驱动包,不需要把10几个jar找齐就能使用了。
七、连接Hive与Hadoop 确保Hive知道Hadoop的位置,编辑$HIVE_HOME/conf/hive-site.xml,添加以下配置: ```xml ... <name>fs.defaultFS <value>hdfs://namenode_host:port <name>hive.metastore....
总的来说,Hive JDBC驱动是连接Hive的重要工具,通过它可以方便地在Java应用程序中进行大数据处理。正确加载和使用Hive JDBC驱动,不仅需要合适的jar包,还需要合理的配置和正确的使用方法。在服务器上经过测试的...
Hive JDBC驱动是Hive与各种数据库管理工具、应用程序之间建立连接的关键组件,使得用户可以通过标准的JDBC接口来访问和操作Hive中的数据。 标题中的"**hive-jdbc-uber-2.6.5.0-292.jar**"是一个Uber(也称为Shaded...
Hive JDBC连接是Java应用程序与Hive数据仓库进行交互的一种方式。它允许程序通过标准的JDBC接口查询和操作Hive中的数据。在使用Hive JDBC进行连接时,需要依赖一系列的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-...
当我们在DataGrip中连接Hive时,需要确保正确配置了依赖的JAR包,以便驱动程序能够识别并连接到Hive服务器。下面我们将详细介绍这个过程。 1. **Hive驱动介绍** Hive提供了JDBC驱动,使得我们可以通过Java应用程序...
Hive-JDBC是Hive提供的一个客户端接口,允许Java应用程序通过JDBC连接到Hive服务器,执行SQL查询并获取结果。它为Hive提供了标准的数据库访问方式,使得开发者能够像操作关系型数据库一样操作Hive。 ### 2. ...
5. **hive-service-2.1.1.jar**:包含了Hive服务端的实现,如Thrift服务,用于客户端连接。 6. **log4j-1.2.17.jar**:日志记录库,用于记录Hive和Hadoop运行时的日志信息。 7. **hive-common-2.1.1.jar**:Hive的...
Hive JDBC驱动是连接Hadoop生态系统中的Hive数据仓库的重要桥梁,它允许用户通过Java数据库连接(JDBC)标准来访问Hive。在Hive 2.5.15和2.6.1这两个版本中,都包含了对Hive查询语言(HQL)的支持以及对大数据处理的...
在 Hive 客户端配置中,我们需要配置 Hive 客户端连接到远程 metastore 服务器的参数。在这个配置文件中,我们可以看到两个重要的参数:`hive.metastore.local` 和 `hive.metastore.uris`。 * `hive.metastore....
在Java应用程序中,如Kettle(也称为Pentaho Data Integration),我们需要使用JDBC(Java Database Connectivity)来连接到Hive服务。以下将详细讲解如何使用JDBC连接Hadoop Hive2以及所需的关键jar包。 首先,...
hive的驱动包,支持使用jdbc的方式连接hive组件,可在客户端使用sql进行数据库操作
首先,Hive JDBC(Java Database Connectivity)驱动是连接Hive服务器的关键。JDBC是Java语言中用于与各种数据库进行通信的标准接口,而Hive JDBC驱动则实现了这个接口,使得任何支持JDBC的工具,如DBeaver、...
在大数据处理领域,Kettle(又称...以上就是关于Kettle连接Hive所需JAR包及其作用的详细解释,以及如何配置和使用这些JAR包来实现Kettle与Hive的交互。正确配置和使用这些组件是成功执行大数据ETL任务的关键步骤。
2. **Hadoop相关库**:由于Hive是构建在Hadoop之上的,所以连接Hive可能还需要Hadoop的相关JAR文件,例如`hadoop-common.jar`, `hadoop-hdfs.jar`, `hadoop-client.jar`等。这些文件提供了Hadoop的文件系统接口和...
6. **连接Hive并查询数据**: 成功连接后,你可以使用SQL Developer的界面编写并执行HQL(Hive SQL)查询。HQL与标准SQL非常相似,但有一些特定的Hive特性,如分区、桶、serde等。 7. **注意点**: - 如果Hive...
Hive JDBC 1.1.0-cdh5.12.1 连接库是Apache Hive项目中的一个重要组件,主要用于允许客户端程序通过Java数据库连接(JDBC)接口与Hive服务器进行交互。这个连接库是专为CDH(Cloudera Distribution Including Apache...
Hive JDBC是Java数据库连接(JDBC)的一个实现,允许Java应用程序通过标准的JDBC接口与Apache Hive进行通信。这个压缩包中包含了访问Hive数据库所需的基本组件。 【描述】中提到,该压缩包非常精简,只有三个关键的...
描述中提到的"hive,jdbc,kettle,驱动包,kettle8.2连接hive驱动包: hive-jdbc-1.1.0-cdh5.14.2.jar"表明,这个压缩包包含了Hive的JDBC驱动,这是Kettle与Hive通信的关键。JDBC(Java Database Connectivity)是Java...