`
wangzjie
  • 浏览: 75018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java访问hive的方式

    博客分类:
  • hive
阅读更多

保证hive --service hiveserver

1、jdbc方式

hive的lib下的jar全部都包含进去,另外要包含hadoop-0.20.2-core.jar

/**
 *  通过jdbc方式访问hive
 */
publicclass HiveClient {
 
    privatestatic Connection conn = null;
 
    privatestatic Connection connToMysql = null;
 
    privateHiveClient() {
 
    }
 
    publicstatic Connection GetHiveConn() throwsSQLException {
 
        if(conn == null) {
 
            try{
 
                Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
 
            }catch(ClassNotFoundException e) {
 
                e.printStackTrace();
 
                System.exit(1);
 
            }
 
            conn = DriverManager.getConnection(
 
                    "jdbc:hive://test01:5008/default","","");   //5008是启动hiveserver时设置的端口,默认是10000
        }
 
        returnconn;
 
    }
 
    publicstatic void closeHive() throwsSQLException {
 
        if(conn != null) {
 
            conn.close();
 
        }
 
    }
    publicstatic void main(String[] args) throwsSQLException {
 
        Connection conn = HiveClient.GetHiveConn();     
 
        Statement stmt = conn.createStatement();
 
        ResultSet rs = stmt.executeQuery("select * from user_device_base limit 1");
 
        while(rs.next()){
 
            System.out.println(rs.getString(1));
 
        }
    }
 
}


2、thrift方式

TSocket transport = newTSocket("test01",5008);
 
transport.setTimeout(1000);
 
TBinaryProtocol protocol = newTBinaryProtocol(transport);
 
Client client = newThriftHive.Client(protocol);
 
transport.open();
 
client.execute("select * from user_device_base limit 1"); // Omitted HQL
 
List<String> rows = null;
 
while((rows = client.fetchN(1000)) != null) {
 
    for(String row : rows) {
 
        System.out.println(row);
 
    }
}
transport.close();


pom dependency

<apache.hadoop.version>1.0.1</apache.hadoop.version>
 
<apache.hive.version>0.9.0</apache.hive.version>
 
 
 
<dependency>
 
    <groupId>org.apache.hive</groupId>
 
    <artifactId>hive-serde</artifactId>
 
    <optional>true</optional>
 
    <version>${apache.hive.version}</version>
 
</dependency>
 
 
<dependency>
 
    <groupId>org.apache.hive</groupId>
 
    <artifactId>hive-common</artifactId>
 
    <version>${apache.hive.version}</version>
 
</dependency>
 
<dependency>
 
    <groupId>org.apache.hive</groupId>
 
    <artifactId>hive-exec</artifactId>
 
    <version>${apache.hive.version}</version>
 
</dependency>
 
<dependency>
 
    <groupId>org.apache.hive</groupId>
 
    <artifactId>hive-jdbc</artifactId>
 
    <version>${apache.hive.version}</version>
 
</dependency>
 
<dependency>
 
    <groupId>org.apache.hadoop</groupId>
 
    <artifactId>hadoop-core</artifactId>
 
    <version>${apache.hadoop.version}</version>
 
</dependency>
 
<dependency>
 
    <groupId>org.apache.hadoop</groupId>
 
    <artifactId>hadoop-test</artifactId>
 
    <version>${apache.hadoop.version}</version>
 
    <scope>provided</scope>
 
</dependency>
 
<dependency>
 
    <groupId>javax.jdo</groupId>
 
    <artifactId>jdo2-api</artifactId>
 
    <version>2.3-eb</version>
 
    <scope>test</scope>
 
</dependency>
 
<!-- Needed forHive unit tests -->
 
<dependency>
 
    <groupId>org.apache.hive</groupId>
 
    <artifactId>hive-cli</artifactId>
 
    <version>${apache.hive.version}</version>
 
    <scope>test</scope>
 
</dependency>


分享到:
评论

相关推荐

    java访问hive数据库所需全部jar包

    以上就是使用Java访问Hive数据库所需的基本知识,包括所需的jar包及其作用,以及如何在Java项目中集成和使用这些库来执行Hive查询。在实际操作中,你可能还需要根据具体的环境和需求调整配置,例如设置Hive的配置...

    java根据excel生成 hive建表语句

    Java作为企业级应用开发的主要语言,经常被用来处理与数据相关的任务,包括从Excel文件读取数据并生成Hive建表语句。下面我们将详细探讨如何使用Java和Apache POI库来实现这一功能。 首先,Apache POI是Java中处理...

    Hive_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    JDBC是Java中用于数据库访问的标准API,它定义了一组接口和类,使得开发者可以使用统一的方式与各种数据库系统通信。Hive JDBC提供了对Hive的JDBC支持,允许Java应用执行HiveQL语句并获取结果。 要使用Hive JDBC,...

    hadoop+hive+mapreduce的java例子

    JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似 WebGUI是通过浏览器访问 Hive 本文主要介绍的就是第二种用户接口,直接进入正题。 1、Hive 安装: 1)hive的安装请参考网上的相关文章,测试时只在...

    hive metastore java api使用

    hive metastore是hive的元数据管理服务,实际应用中很多第三方框架需要访问metastore服务,如spark,impala等。同样hive metastore也提供了java接口。 使用 import org.apache.hadoop.hive.conf.HiveConf; import org...

    大数据java操作hive

    2. **加载 Hive JDBC 驱动**:在 Java 代码中,使用以下方式加载 Hive 的 JDBC 驱动: ```java Class.forName("org.apache.hive.jdbc.HiveDriver"); ``` 3. **建立连接**:获取与 Hive 服务器的连接,需要提供...

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

    - 检查防火墙设置,确保允许DataGrip所在机器访问Hive服务器的端口。 - 驱动版本应与Hive服务版本兼容,否则可能会遇到连接问题。 - 对于大型企业环境,可能还需要考虑SSL/TLS加密以及证书管理。 综上所述,连接...

    kerberos认证hive连接代码

    本篇将详细介绍如何在Spring MVC框架中配置Kerberos认证,并通过Java代码与Hive建立安全连接。 首先,`Kerberos认证`是一种基于票据的认证机制,它通过三向握手确保了通信双方的身份,并防止中间人攻击。在Hive中...

    jdbc 通过impala 连接hive库

    当需要从Java应用程序或者Web应用中访问Hive的数据时,可以通过JDBC(Java Database Connectivity)接口实现。本篇文章将详细讲解如何通过Impala JDBC连接到Hive库,并介绍相关的POM配置。 首先,让我们理解JDBC。...

    项目实战——Spark将Hive表的数据写入ElasticSearch(Java版本)

    Hive提供了丰富的接口供外部应用访问,包括Hive JDBC和Hive SerDe(Serializer/Deserializer),Java程序可以利用这些接口读取Hive表中的数据。 2. **Spark计算框架**: Spark是大数据处理的开源框架,以其高效、...

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

    当需要通过Java程序访问Hive数据库时,就需要使用Hive JDBC驱动。Hive是Apache Hadoop生态系统中的一个数据仓库工具,允许用户通过SQL-like查询语言HQL处理存储在HDFS上的大规模数据。 标题中的"jdbc连接hive数据库...

    jdbc访问hive的jar包

    当在CDH集群上配置使用Kerberos认证的JDBC访问Hive时,我们需要了解以下几个关键知识点: 1. **Kerberos认证**:Kerberos是一种基于密钥的服务认证协议,用于在网络环境中提供身份验证。在CDH中,Kerberos用于确保...

    SpringBoot整合hive-jdbc示例

    它为Hive提供了标准的数据库访问方式,使得开发者能够像操作关系型数据库一样操作Hive。 ### 2. SpringBoot项目准备 首先,我们需要一个基础的SpringBoot项目。确保你的项目中已经集成了Spring Data JPA或者...

    连接Hive相关Jar包(DBeaver和JDBC均可使用)

    在IT行业中,数据库管理和数据分析是至关重要的任务,而Hive作为一个大数据处理的工具,提供了对大规模数据集的高效...DBeaver和Java应用都可以通过这种方式与Hive进行有效交互,从而实现对大数据的便捷访问和处理。

    jdbc hive相关jar包

    这些库包含了连接管理、元数据访问、数据序列化、网络通信以及安全控制等多个方面,确保了在Java环境中高效、安全地操作Hive数据。在实际项目中,正确配置和使用这些jar包,能有效提升数据处理和分析的效率。

    Java连接Hadoop hive数据库jar包合集

    Java连接Hadoop Hive数据库涉及到多个技术栈的交互,包括Java编程、Hadoop分布式文件系统(HDFS)、Hive数据仓库服务以及相关库的配置。在提供的压缩包文件中,我们看到一系列与这些技术相关的jar包,它们是实现Java...

    HIVE相关的jar包

    这个压缩包文件“HIVE相关的jar包”包含了不同版本的Hive库文件,这些文件对于在Java环境下开发和运行Hive应用程序至关重要。下面我们将详细讨论Hive jar包及其在IT领域的应用。 首先,Hive jar包是Hive服务的核心...

    hive-jdbc-1.1.0驱动相关jar包

    4. 元数据访问:获取关于Hive数据库的结构信息,如表名、列名等。 5. 高级特性:支持事务、批处理、预编译语句等功能。 在动态加载Hive JDBC 1.1.0驱动时,我们需要确保包含所有必需的jar包。"test-hive1.1.0"可能...

    flink-connector-hive-2.12-1.13.1.jar

    通过 Flink 的 Hive 连接器,你可以直接在 Flink 中访问 Hive 中的数据表,从而执行流处理和批处理任务。 这个连接器提供了以下几个主要功能: 元数据同步:Flink 可以读取 Hive 的元数据,包括数据库、表和分区的...

    基于SpringBoot+hiveJDBC+echarts的数据大屏可视化和大数据分析源码+项目使用说明.zip

    HiveJDBC: 通过Java直接访问Hive数据库 HiveServer2:使远程客户端可以执行对Hive的查询并返回结果 【备注】 主要针对计算机相关专业的正在做毕设的学生和需要项目实战的大数据可视化、Java学习者。 也可作为课程设计...

Global site tag (gtag.js) - Google Analytics