Hive的JDBC连接

相关知识
Hive是大数据技术簇中进行数据仓库应用的基础组件,是其它类似数据仓库应用的对比基准。基础的数据操作我们可以通过脚本方式以Hive-client进行处理。若需要开发应用程序,则需要使用Hive的JDBC驱动进行连接。
Hive JDBC驱动连接分为两种,早期的是HiveServer,最新的是HiveServer2,前者本身存在很多的问题,如安全性、并发性等,后者很好的解决了诸如安全性和并发性等问题。

系统环境
Linux Ubuntu 20.04
OpenJDK-11.0.11
hadoop-3.2.2
mysql-8.0.25

任务内容
练习使用JDBC方式连接Hive,通过java代码操作Hive。


任务步骤
1.首先在Linux本地,新建/data/hive6目录,用于存放所需文件。

mkdir -p /data/hive6  

2.切换到/apps/hive/conf目录下,修改hive-site.xml文件,将以下配置写入

  
   hive.server2.thrift.port  
   10000  
  
  
    hive.server2.thrift.bind.host  
    127.0.0.1  
      

3.切换到/apps/hadoop/sbin目录下,开启Hadoop相关进程

cd /apps/hadoop/sbin  
./start-all.sh  

4.开启mysql服务

sudo service mysql start  

5.切换到/apps/hive目录下,启动hiveserver2

cd /apps/hive        
./bin/hive --service hiveserver2 

6.另外开启一个终端模拟器,使用netstat命令查看一下10000端口

netstat -nptl | grep 10000  

7.切换到/apps/hive/bin目录下,开启beeline

cd /apps/hive/bin  
./beeline      

Hive的JDBC连接_第1张图片

8.使用 (!connect jdbc:hive2://ip地址:10000 hiveuser hivepassword )测试是否可以连接,username和password为创建的用户名(root)和密码(123456)。

!connect jdbc:hive2://127.0.0.1:10000  

9.在idea中创建一个项目,将hadoop中的配置文件加到resources中
Hive的JDBC连接_第2张图片

10.添加maven依赖


        mysql
        mysql-connector-java
        8.0.25
    
    
        org.apache.hive
        hive-jdbc
        2.3.8
       

Hive的JDBC连接_第3张图片


package my.study.hive;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class HiveClient {
    private static String driverName = "org.apache.hive.jdbc.HiveDriver";
    public static void main(String args[]){
        try {
            Class.forName(driverName);
            Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/hive", "root", "123456");

            Statement st =  con.createStatement();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.exit(1);
        }catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}

你可能感兴趣的:(Hive的JDBC连接)