`
kirayuan
  • 浏览: 39756 次
文章分类
社区版块
存档分类
最新评论

hive的jdbc数据库连接

 
阅读更多

package org.apache.hadoop.hive.cli;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Date;
import java.io.*;
import jline.ConsoleReader;
public class JDBCClient {
public static void main(String[] args) {
String url = "jdbc:hive://localhost:10000/default";
String user = "admin";
String password = "admin";
if (args.length > 2) { // has user parameters
if (args.length != 5) {
System.out.println("Syntax Error!");
return;
}
url = args[2];
user = args[3];
password = args[4];
}
try {
Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver"); //BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Connection conn = DriverManager.getConnection(url, user, password);
Statement statement = conn.createStatement();
while(true) {
System.out.print("HugeQL>");
ConsoleReader reader = new ConsoleReader();
reader.setBellEnabled(false);
String sql = reader.readLine();
try {
if(sql.length() == 0) continue;
if(sql.endsWith(";")) {
sql = sql.substring(0,sql.length()-1);
}
if(sql.equals("quit")||sql.equals("exit")) return;
Date start = new Date();
boolean query = statement.execute(sql);
Date stop = new Date();
long deltaTime = stop.getTime() - start.getTime();
System.out.println("execution time: " + (deltaTime/(60*1000)) + " min " + ((deltaTime/1000)%60) + " sec " + (deltaTime%1000) + " ms " + " [total " + deltaTime + " ms]"); if(query == false) System.out.println("update count = " + statement.getUpdateCount());
else {
ResultSet result = statement.getResultSet();
ResultSetMetaData metadata = result.getMetaData();
for(int i = 1; i <= metadata.getColumnCount(); ++i)
System.out.printf("%30s", metadata.getColumnLabel(i));
System.out.println();
int n = 0;
while(result.next()) {
for(int i = 1; i <= metadata.getColumnCount(); ++i)
System.out.printf("%30s", result.getString(i));
n++;
System.out.println();
}
System.out.println("rows: " + n + " execution time: " + (deltaTime/(60*1000)) + " min " + ((deltaTime/1000)%60) + " sec " + (deltaTime%1000) + " ms " + " [total " + deltaTime + " ms]");
}
}
catch(SQLException e) {
System.out.println(e);
}
}
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
System.exit(0);
}
}
一个很好的jdbc client,测试jdbc接口的时候相当方便

分享到:
评论

相关推荐

    jdbc连接hive数据库的驱动jar包

    标题中的"jdbc连接hive数据库的驱动jar包"指的是Hive JDBC驱动的Java类库文件,通常是一个.jar文件,包含了所有必要的类和方法,使得Java应用程序能够建立到Hive服务器的连接,执行查询并获取结果。这个“jar包”...

    hive jdbc 连接所需要的jar包

    11. **jdbc-driver的其他依赖**: 取决于你所使用的JDBC驱动,例如MySQL、Oracle等,如果Hive数据库是建立在这些关系型数据库之上,那么相应的JDBC驱动也是必要的。 在实际开发中,你需要将这些jar包添加到项目的类...

    hive jdbc依赖的jar包

    Hive JDBC是Apache Hive项目的一部分,它提供了一个Java数据库连接(JDBC)接口,使得其他应用程序,如Python、Java或任何支持JDBC的环境,能够与Hive进行交互。Hive JDBC驱动程序允许用户通过标准的JDBC API来执行...

    Hive-jdbc-3.1.1.zip

    Hive JDBC是Apache Hive项目的一部分,它为Hive数据仓库提供了与Java数据库连接(JDBC)接口的兼容性。这使得开发人员能够使用标准的JDBC驱动程序来连接到Hive服务器,从而在各种应用程序中方便地进行大数据查询和...

    hive-jdbc所需jar(精简可用)

    `jdbc`代表Java数据库连接,是Java语言访问数据库的标准;`hive`指的是Apache Hive本身;`cloudera`意味着这些文件与Cloudera有关;`hive-jdbc`再次强调这是关于Hive JDBC的;`hadoop`表示与Hadoop生态系统兼容。 ...

    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_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    本教程将深入讲解如何使用Hive JDBC在Java项目中建立与Hive的连接,并通过Maven来管理依赖。 首先,让我们了解Hive JDBC的基本概念。JDBC是Java中用于数据库访问的标准API,它定义了一组接口和类,使得开发者可以...

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

    1. **下载驱动**:你需要从官方网站或者可靠的第三方源下载适用于你当前Hive版本的JDBC驱动包,例如`HIVEjdbc.jar`。确保驱动与Hive服务的版本兼容,因为不同版本之间的API可能会有变化。 2. **配置工具**:在...

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

    **Hive JDBC驱动**是Apache Hive提供的一种Java数据库连接(JDBC)驱动,遵循Java的JDBC规范,使得Java应用程序可以如同操作关系型数据库一样操作Hive。这个驱动允许用户通过编写SQL语句或者使用类似JDBC的API来连接...

    hive-jdbc.jar包

    hive jdbc jar包用于hive连接数据库驱动

    hive-jdbc-1.1.0驱动相关jar包

    Hive JDBC驱动是连接Hadoop Hive数据库的重要组件,它允许用户通过Java编程语言或任何支持JDBC的工具(如SQL客户端)与Hive进行交互。Hive JDBC 1.1.0版本是这个驱动的一个特定迭代,提供了对Hive查询、数据操作和...

    HiveJDBC41.jar

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

    hive-jdbc-uber-2.6.5.0-292.zip

    Hive JDBC是Hive与SQL兼容的数据库访问接口,它遵循JDBC规范,允许任何支持JDBC的编程语言(如Java、Python等)连接到Hive服务器,执行查询并获取结果。Hive JDBC提供了诸如建立连接、发送SQL语句、处理结果集等功能...

    DBeaver链接hive驱动包下载: hive-jdbc-uber-2.6.5.0-292.jar

    3. 配置连接:在驱动配置完成后,创建一个新的数据库连接。输入Hive服务器的相关信息,如主机地址、端口、用户名和密码。还可以配置Hadoop配置文件路径,以便驱动包能正确找到Hadoop的相关设置。 4. 测试连接:点击...

    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必用jar包

    当需要在Java应用中远程连接到Hive进行数据操作时,Hive JDBC就扮演了关键角色。 Hive JDBC允许Java应用通过标准的JDBC API与Hive服务器进行通信,从而实现对Hive的数据读取、写入和管理。在Hive 1.2.1版本中,提供...

    hive-jdbc-uber-2.6.5.0-292.jar驱动

    Hive JDBC Uber 2.6.5.0-292驱动是Apache Hive与Java数据库连接(JDBC)之间的桥梁,允许用户通过编程语言(如Java、Python等)或者数据库管理工具(如Dbeaver)与Hive进行交互。这个驱动程序集成了所有必要的依赖,...

    Hive JDBC连接

    hive2.3.2 JDBC连接 ,sql developer可用。选择第三方jdbc,加入,就可以显示hive连接。用的cloudra的jdbc用于连接操作数据库,java开发请使用maven获取开源组件。

    SpringBoot整合hive-jdbc示例

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

    Cloudera_HiveJDBC_2.5.4.1006.zip

    6. **数据库连接**:通过JDBC驱动建立Hive连接的基本步骤包括:(1) 创建`java.sql.DriverManager`实例;(2) 调用`DriverManager.getConnection()`方法,传入Hive服务器的URL、用户名和密码;(3) 获取`java.sql....

Global site tag (gtag.js) - Google Analytics