使用 Cloudera Hive Jdbc 查询 Hive 数据

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/sunknew/article/details/80973552

简述

项目中一些数据需要从Hive中查询,由于官方的Jdbc驱动包太大,所以选择了Cloudera的驱动。之后选用其他工具实现相关逻辑,不再直接从Hive中取数据,这里简单记录一下相关配置。

引入工具包示例

将需要的jar包引入,此处使用maven

<!-- ↓↓ local ↓↓ -->
<dependency>
    <groupId>local</groupId>
    <artifactId>hive_metastore</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/hive_metastore.jar</systemPath>
</dependency>
<dependency>
    <groupId>local</groupId>
    <artifactId>hive_service</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/hive_service.jar</systemPath>
</dependency>
<dependency>
    <groupId>local</groupId>
    <artifactId>HiveJDBC</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/HiveJDBC41.jar</systemPath>
</dependency>
<dependency>
    <groupId>local</groupId>
    <artifactId>TCLIServiceClient</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/TCLIServiceClient.jar</systemPath>
</dependency>
<dependency>
    <groupId>local</groupId>
    <artifactId>zookeeper</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/zookeeper-3.4.6.jar</systemPath>
</dependency>
<dependency>
    <groupId>local</groupId>
    <artifactId>ql</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/ql.jar</systemPath>
</dependency>
<dependency>
    <groupId>local</groupId>
    <artifactId>libfb303</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/libfb303-0.9.0.jar</systemPath>
</dependency>
<dependency>
    <groupId>local</groupId>
    <artifactId>libthrift</artifactId>
    <version>0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/libthrift-0.9.0.jar</systemPath>
</dependency>
<!-- ↑↑ local ↑↑ -->

配置数据源示例

# hive 数据源配置
# spring.datasource.hive.type=com.cloudera.hive.jdbc41.HS2DataSource
# spring.datasource.hive.driver-class-name=com.cloudera.hive.jdbc41.HS2Driver
spring.datasource.hive.url=jdbc:hive2://192.168.192.128:10000/amber_kylin_test;AuthMech=3;UID=hadoop;PWD=mm
@Bean(name = HIVE_DATASOURCE)
public DataSource hiveDS(){
    logger.info("create hive datasource.");
    HS2DataSource ds = new HS2DataSource();
    ds.setURL(hiveDsUrl);
    return ds;
}

Hadoop 配置示例(core-site.xml)

<property>
     <name>hadoop.proxyuser.hadoop.hosts</name>
     <value>*</value>
</property>
<property>
     <name>hadoop.proxyuser.hadoop.groups</name>
     <value>*</value>
</property>

启动相关 Hive 服务

nohup hive --service metastore &
nohup hive --service hiveserver2 &

参考

1.Download Hive JDBC Driver 2.5.4
2.hiveserver2-failed-to-open-new-session-in-beeline

猜你喜欢

转载自blog.csdn.net/sunknew/article/details/80973552
今日推荐