`

Hive的JDBC接口

    博客分类:
  • Hive
阅读更多

>>>在eclipse中使用JDBC连接Hive前需要开启Hive监听用户链接

hive/bin/ext$ hive --service hiveserver

>>>配置eclipse环境

在pom.xml中添加hive包依赖

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <hadoop.version>2.5.0</hadoop.version>
    <hive.version>0.13.1</hive.version>
 </properties>

 <dependencies>
  	<dependency>
  	 	<groupId>org.apache.hadoop</groupId>
  	 	<artifactId>hadoop-client</artifactId>
  	 	<version>${hadoop.version}</version>
 </dependency>

<dependency>
  		<groupId>org.apache.hive</groupId>
  		<artifactId>hive-jdbc</artifactId>
  		<version>${hive.version}</version>
 </dependency>
  	
  <dependency>
  		<groupId>org.apache.hive</groupId>
  		<artifactId>hive-exec</artifactId>
  		<version>${hive.version}</version>
  </dependency>

 >>>示例代码:

package com.fb.hadoop.hive;

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
 
public class HiveJdbcClient {
  private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
 
  public static void main(String[] args) throws SQLException {
   //注册JDBC
    try {
      Class.forName(driverName);
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      System.exit(1);
    }
    //创建连接
    Connection con = DriverManager.getConnection("jdbc:hive://master:10000/default", "root", "gsdjsj");
    Statement stmt = con.createStatement();
    String tableName = "user2";
    stmt.executeQuery("drop table " + tableName);
    ResultSet res = stmt.executeQuery("create table " + tableName + " (name string,age int,sex string,phone string)"
    		+"ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'"
    		+"STORED AS TEXTFILE");
    // show tables
    String sql = "show tables '" + tableName + "'";
    System.out.println("Running: " + sql);
    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 = "/opt/data/user.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.getString(1)) + "\t" + res.getInt(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));
    }
  }
}

 

 

分享到:
评论

相关推荐

    Hive-jdbc-3.1.1.zip

    1. **Hive JDBC接口**:Hive JDBC提供了一个标准的Java API,使得开发者能够在任何支持JDBC的应用程序中与Hive进行交互。这包括Java应用程序、Web应用、BI工具等。通过这个接口,你可以执行SQL查询,管理表,加载...

    hive jdbc依赖的jar包

    总结来说,Hive JDBC是一个重要的工具,它让开发者能使用熟悉的SQL语言和JDBC接口与Hive进行交互,极大地拓宽了Hive的应用场景。正确理解和使用Hive JDBC,对于开发和维护基于Hadoop的数据处理系统至关重要。

    Hive_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    Hive JDBC(Java Database Connectivity)是Hive提供的一种接口,使得其他编程语言,如Java,能够通过JDBC驱动程序与Hive进行交互,实现数据查询、分析和操作。本教程将深入讲解如何使用Hive JDBC在Java项目中建立与...

    hive jdbc 连接所需要的jar包

    它允许程序通过标准的JDBC接口查询和操作Hive中的数据。在使用Hive JDBC进行连接时,需要依赖一系列的jar包来确保所有必要的功能得以实现。下面将详细介绍这些jar包以及它们在Hive JDBC连接中的作用。 首先,`hive...

    hive jdbc驱动 2.5.15 及 2.6.1两个版本

    - **兼容性**:Hive JDBC驱动提供了标准的接口,使得不同的编程语言可以轻松地连接到Hive。 2. **Hive 2.5.15的关键特性** - **性能提升**:这个版本可能包含了一些性能优化,例如查询执行速度更快,内存管理更...

    hive-jdbc-1.1.0驱动相关jar包

    Hive JDBC 1.1.0版本是这个驱动的一个特定迭代,提供了对Hive查询、数据操作和管理功能的接口。在本篇中,我们将深入探讨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包

    1. **hive-jdbc.jar**:这是核心的Hive JDBC驱动程序,包含了实现JDBC接口的类和方法,使得Java应用能够与Hive通信。你需要将这个JAR包添加到你的项目的类路径(classpath)中。 2. **lib/*.jar**:Hive JDBC可能...

    hive-jdbc-uber-2.6.5.0-292.zip

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

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

    而Hive JDBC(Java Database Connectivity)是Hive与外部应用交互的重要接口,它允许Java应用程序或者其他支持JDBC的工具连接到Hive服务器,执行Hive查询并获取结果。 标题"hive-jdbc所需jar(精简可用)"表明这个...

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

    Hive驱动包通常包含`org.apache.hive.jdbc.HiveDriver`和其他相关类,这些类实现了JDBC接口,使得Java程序可以调用Hive服务。 在压缩包子文件的文件名称列表中,只提到了“hive驱动包”,这可能表示压缩包内只有一...

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

    总之,Hive JDBC 1.1.0-cdh5.12.1连接库是CDH环境下与Hive交互的重要桥梁,提供了标准的JDBC接口,简化了客户端与Hive服务器之间的通信,使得数据处理更加便捷高效。无论是数据分析、报表生成还是数据集成,Hive ...

    hive-jdbc-1.2.1-standalone

    1. **hive-jdbc-1.2.1.jar**:这是Hive JDBC的主要驱动程序,实现了JDBC接口,使得Java代码能够与Hive Server通信。 2. **hadoop-common-2.6.4.jar**:包含了Hadoop的公共库,为Hive JDBC提供Hadoop相关的功能。 3...

    SpringBoot整合hive-jdbc示例

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

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

    2. **连接管理**:提供连接到Hive服务器的接口,包括建立、配置、管理和关闭连接。 3. **元数据获取**:允许用户获取数据库、表、列等元数据信息。 4. **批处理**:支持批量执行SQL语句,提高执行效率。 5. **事务...

    hive-jdbc-lib.zip

    1. **Hive JDBC接口**:Hive JDBC是基于JDBC标准实现的一个接口,允许Java应用程序通过标准的JDBC API与Hive进行通信。这使得开发者可以使用熟悉的JDBC编程模型来操作Hive,无需了解Hive的底层细节。 2. **Hive ...

    hive-jdbc-uber-3.1.2+yanagishima-18.0

    而Hive JDBC是连接Hive与各种客户端应用程序的桥梁,使得用户可以通过标准的JDBC接口来操作Hive。这里我们关注的是"Hive-jdbc-uber-3.1.2",这是一个包含所有依赖的Uber jar包,旨在简化部署和使用流程。 Hive JDBC...

    hive-jdbc-jar-多版本.zip

    它提供了标准的JDBC接口,使得任何支持JDBC的应用程序,如Java应用或BI工具,都可以方便地连接到Hive执行SQL查询。"hive-jdbc-jar-多版本.zip"是一个压缩包,包含了不同版本的Hive JDBC Uber Jars,覆盖了从1.5到1.8...

    hive-jdbc-standalone.jar

    1. **Hive JDBC接口**:Hive JDBC提供了一个标准的JDBC接口,使得Java开发者可以使用已熟悉的JDBC API来执行HQL查询,创建、修改和删除Hive表等操作。这使得开发人员能够在不直接接触Hadoop或Hive命令行的情况下进行...

    hive-jdbc-uber-2.6.3.0-292.jar

    Hive JDBC Uber Driver,即“hive-jdbc-uber-2.6.3.0-292.jar”,是Apache Hive提供的一种集成型JDBC驱动,它使得Java应用程序能够通过标准的JDBC接口与Hive服务器进行通信,实现数据查询、操作和管理。这个特定版本...

Global site tag (gtag.js) - Google Analytics