使用 Cloudera Hive Jdbc 查询 Hive 数据

简述

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

引入工具包示例

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


<dependency>
    <groupId>localgroupId>
    <artifactId>hive_metastoreartifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/hive_metastore.jarsystemPath>
dependency>
<dependency>
    <groupId>localgroupId>
    <artifactId>hive_serviceartifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/hive_service.jarsystemPath>
dependency>
<dependency>
    <groupId>localgroupId>
    <artifactId>HiveJDBCartifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/HiveJDBC41.jarsystemPath>
dependency>
<dependency>
    <groupId>localgroupId>
    <artifactId>TCLIServiceClientartifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/TCLIServiceClient.jarsystemPath>
dependency>
<dependency>
    <groupId>localgroupId>
    <artifactId>zookeeperartifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/zookeeper-3.4.6.jarsystemPath>
dependency>
<dependency>
    <groupId>localgroupId>
    <artifactId>qlartifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/ql.jarsystemPath>
dependency>
<dependency>
    <groupId>localgroupId>
    <artifactId>libfb303artifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/libfb303-0.9.0.jarsystemPath>
dependency>
<dependency>
    <groupId>localgroupId>
    <artifactId>libthriftartifactId>
    <version>0.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/cloudera-hive-jdbc/libthrift-0.9.0.jarsystemPath>
dependency>

配置数据源示例

# 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.hostsname>
     <value>*value>
property>
<property>
     <name>hadoop.proxyuser.hadoop.groupsname>
     <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

你可能感兴趣的:(----,Hive,BD,-,Big,Data)