jdbc impala连接hive

简介: 通过jdbc impala连接hive

import java.sql.Connection;
import java.sql.Driver;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

public class TestConnection {

    public static void main(String[] args)
            throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
        Driver driver = (Driver) Class.forName("com.cloudera.impala.jdbc41.Driver").newInstance();
        Properties propertes = new Properties();
        Connection connetction = driver
                .connect("jdbc:impala://192.168.44.141:21051/data;AuthMech=3;UID=hive;PWD=hive", propertes); // 使用第三种安全验证

        String sql = "SELECT * FROM data.article a WHERE id=?";

        PreparedStatement stmt = connetction.prepareStatement(sql);
        stmt.setString(1, "100");
        ResultSet rs = stmt.executeQuery();
        System.out.println("完成执行===============================");
        if (rs.next()) {
            System.out.println("返回:" + rs.getObject(1));
        }
        rs.close();
        connetction.close();
    }

}

在pom.xml中引入依赖包,其中jar包到${project.basedir}/src/main/webapp/WEB-INF/lib/目录中

        <!-- impala start -->
        <dependency>
            <groupId>com.cloudera</groupId>
            <artifactId>ImpalaJDBC41</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ImpalaJDBC41.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive_metastore</artifactId>
            <version>0.0.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/hive_metastore.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>hive_service</artifactId>
            <version>0.0.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/hive_service.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.3</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/commons-codec-1.3.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.facebook</groupId>
            <artifactId>libfb303-0.9.0</artifactId>
            <version>0.9.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/libfb303-0.9.0.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.facebook</groupId>
            <artifactId>libthrift-0.9.0</artifactId>
            <version>0.9.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/libthrift-0.9.0.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>ql</artifactId>
            <version>0.0.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ql.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>TCLIServiceClient</artifactId>
            <version>0.0.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/TCLIServiceClient.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/zookeeper-3.4.6.jar</systemPath>
        </dependency>
        <!-- impala -->
相关文章
|
30天前
|
Java 数据库连接
JDBC连接复习
JDBC连接复习
29 1
|
8天前
|
SQL 分布式计算 JavaScript
Hive的JOIN连接
Hive的JOIN连接
16 5
|
21天前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
Java开发者必知:JDBC连接数据库的“三大法宝”
17 7
|
1月前
|
SQL Java 数据库连接
JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码
这篇文章提供了使用JDBC连接SQL Server 2008数据库进行增加、删除、查询和修改操作的基本步骤和示例代码。
|
1月前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
1月前
|
Java 关系型数据库 MySQL
使用JDBC连接ADB
【8月更文挑战第6天】
97 0
|
2月前
|
Java 关系型数据库 MySQL
使用MySQL JDBC连接数据库
使用MySQL JDBC连接数据库
|
3月前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
【6月更文挑战第24天】Java JDBC的三大法宝简化数据库操作:①统一API接口,跨平台与各类数据库交互;②参数化查询,提升效率,防止SQL注入;③事务管理,确保数据一致性。通过这三个核心特性,开发者能更安全高效地处理数据库任务。示例代码展示了如何使用这些功能。
32 3
|
2月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何使用Flink SQL连接带有Kerberos认证的Hive
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
45 0