相关知识
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文件,将以下配置写入
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>127.0.0.1</value>
</property>
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
8.使用 (!connect jdbc:hive2://ip地址:10000 hiveuser hivepassword )测试是否可以连接,username和password为创建的用户名(root)和密码(123456)。
!connect jdbc:hive2://127.0.0.1:10000
9.在idea中创建一个项目,将hadoop中的配置文件加到resources中
10.添加maven依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>2.3.8</version>
</dependency>
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();
}
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。