`

JDBC 客户端 连接hive

    博客分类:
  • hive
阅读更多
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
0
0
分享到:
评论

相关推荐

    HiveJDBC4.jar客户端连接hive-jdbc驱动包

    cloudera.com为我们提供的hiveserver2-JDBC驱动包,不需要把10几个jar找齐就能使用了。

    hive客户端安装_hive客户端安装_hive_

    七、连接Hive与Hadoop 确保Hive知道Hadoop的位置,编辑$HIVE_HOME/conf/hive-site.xml,添加以下配置: ```xml ... &lt;name&gt;fs.defaultFS &lt;value&gt;hdfs://namenode_host:port &lt;name&gt;hive.metastore....

    hive-jdbc-1.1.0驱动相关jar包

    总的来说,Hive JDBC驱动是连接Hive的重要工具,通过它可以方便地在Java应用程序中进行大数据处理。正确加载和使用Hive JDBC驱动,不仅需要合适的jar包,还需要合理的配置和正确的使用方法。在服务器上经过测试的...

    hive驱动包hive-jdbc-uber-2.6.5.0-292.jar(用户客户端连接使用)

    Hive JDBC驱动是Hive与各种数据库管理工具、应用程序之间建立连接的关键组件,使得用户可以通过标准的JDBC接口来访问和操作Hive中的数据。 标题中的"**hive-jdbc-uber-2.6.5.0-292.jar**"是一个Uber(也称为Shaded...

    hive jdbc 连接所需要的jar包

    Hive JDBC连接是Java应用程序与Hive数据仓库进行交互的一种方式。它允许程序通过标准的JDBC接口查询和操作Hive中的数据。在使用Hive JDBC进行连接时,需要依赖一系列的jar包来确保所有必要的功能得以实现。下面将...

    Hive-2.1.1-CDH-3.6.1 相关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-...

    连接hive依赖的jar包_hive连接方式

    当我们在DataGrip中连接Hive时,需要确保正确配置了依赖的JAR包,以便驱动程序能够识别并连接到Hive服务器。下面我们将详细介绍这个过程。 1. **Hive驱动介绍** Hive提供了JDBC驱动,使得我们可以通过Java应用程序...

    SpringBoot整合hive-jdbc示例

    Hive-JDBC是Hive提供的一个客户端接口,允许Java应用程序通过JDBC连接到Hive服务器,执行SQL查询并获取结果。它为Hive提供了标准的数据库访问方式,使得开发者能够像操作关系型数据库一样操作Hive。 ### 2. ...

    hive2.1.1 + hadoop2.6.0jdbc驱动

    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驱动 2.5.15 及 2.6.1两个版本

    Hive JDBC驱动是连接Hadoop生态系统中的Hive数据仓库的重要桥梁,它允许用户通过Java数据库连接(JDBC)标准来访问Hive。在Hive 2.5.15和2.6.1这两个版本中,都包含了对Hive查询语言(HQL)的支持以及对大数据处理的...

    hive远程连接详细配置

    在 Hive 客户端配置中,我们需要配置 Hive 客户端连接到远程 metastore 服务器的参数。在这个配置文件中,我们可以看到两个重要的参数:`hive.metastore.local` 和 `hive.metastore.uris`。 * `hive.metastore....

    jdbc连接hadoop hive2所需要的jar包

    在Java应用程序中,如Kettle(也称为Pentaho Data Integration),我们需要使用JDBC(Java Database Connectivity)来连接到Hive服务。以下将详细讲解如何使用JDBC连接Hadoop Hive2以及所需的关键jar包。 首先,...

    HiveJDBC41.jar

    hive的驱动包,支持使用jdbc的方式连接hive组件,可在客户端使用sql进行数据库操作

    数据库工具连接hive的驱动包

    首先,Hive JDBC(Java Database Connectivity)驱动是连接Hive服务器的关键。JDBC是Java语言中用于与各种数据库进行通信的标准接口,而Hive JDBC驱动则实现了这个接口,使得任何支持JDBC的工具,如DBeaver、...

    kittle连接hive需要的jar包

    在大数据处理领域,Kettle(又称...以上就是关于Kettle连接Hive所需JAR包及其作用的详细解释,以及如何配置和使用这些JAR包来实现Kettle与Hive的交互。正确配置和使用这些组件是成功执行大数据ETL任务的关键步骤。

    dbeaver连接hive2.1.1依赖jar包

    2. **Hadoop相关库**:由于Hive是构建在Hadoop之上的,所以连接Hive可能还需要Hadoop的相关JAR文件,例如`hadoop-common.jar`, `hadoop-hdfs.jar`, `hadoop-client.jar`等。这些文件提供了Hadoop的文件系统接口和...

    连接hive-使用sqldeveloper作为客户端.zip

    6. **连接Hive并查询数据**: 成功连接后,你可以使用SQL Developer的界面编写并执行HQL(Hive SQL)查询。HQL与标准SQL非常相似,但有一些特定的Hive特性,如分区、桶、serde等。 7. **注意点**: - 如果Hive...

    hive-jdbc-1.1.0-cdh5.12.1 连接库 jar包

    Hive JDBC 1.1.0-cdh5.12.1 连接库是Apache Hive项目中的一个重要组件,主要用于允许客户端程序通过Java数据库连接(JDBC)接口与Hive服务器进行交互。这个连接库是专为CDH(Cloudera Distribution Including Apache...

    hive-jdbc.zip

    Hive JDBC是Java数据库连接(JDBC)的一个实现,允许Java应用程序通过标准的JDBC接口与Apache Hive进行通信。这个压缩包中包含了访问Hive数据库所需的基本组件。 【描述】中提到,该压缩包非常精简,只有三个关键的...

    kettle8.2连接hive驱动包.zip

    描述中提到的"hive,jdbc,kettle,驱动包,kettle8.2连接hive驱动包: hive-jdbc-1.1.0-cdh5.14.2.jar"表明,这个压缩包包含了Hive的JDBC驱动,这是Kettle与Hive通信的关键。JDBC(Java Database Connectivity)是Java...

Global site tag (gtag.js) - Google Analytics