Hive连接方式
更新时间:2025-01-23
本文介绍 BMR 集群如何连接 Hive 提交 Hive SQL,具体方式包括 Hive 客户端、Beeline 客户端、Java。
前提条件
- 已创建 BMR 集群,且选择了 Hive 服务,创建集群详情请参见创建集群。
- 用户如需使用安全模式集群,在创建集群时,需将安全模式开关设置为开启。
通过Hive客户端连接
普通集群
- SSH登录集群,参考SSH连接到集群。
- 执行
hive
命令即可完成连接。
安全模式集群
- SSH登录集群,参考SSH连接到集群。
- 执行以下命令进行验证:
kinit -kt /etc/emr/hive-conf/keytab/hive.keytab hive/<主节点名称>@BAIDU.COM
- 执行
hive
命令完成连接。
通过Beeline客户端连接
普通集群
- SSH登录集群,参考SSH连接到集群。
- 执行以下命令完成连接:
beeline -u jdbc:hive2://<主节点名称>:10000
安全模式集群
- SSH登录集群,参考SSH连接到集群。
- 执行以下命令进行认证:
kinit -kt /etc/security/keytabs/hive.service.keytab hive/<主节点名称>@BAIDU.COM
- 执行以下命令连接 Beeline:
beeline -u "jdbc:hive2://<主节点名称>:10000/;principal=hive/<主节点名称>@BAIDU.COM
通过Java连接
注意事项
- 在pom.xml文件中配置项目依赖(hadoop-common和hive-jdbc)。本示例新增的项目依赖如下所示。
<dependencies>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.2.3</version>
</dependency>
</dependencies>
- 编写代码,连接HiveServer2并操作Hive表数据。示例代码如下所示。
import java.sql.*;
publicclassApp
{
privatestaticStringdriverName="org.apache.hive.jdbc.HiveDriver";
publicstaticvoidmain(String[] args)throws SQLException {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connectioncon= DriverManager.getConnection(
"jdbc:hive2://master-2044d6e-2:10000", "root", "");//其中 master-2044d6e-2 为节点名称
Statementstmt= con.createStatement();
Stringsql="select * from sample_tbl limit 10";
ResultSetres= stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1) + "\t" + res.getString(2));
}
}
}
- 打包项目工程,生成JAR包,上传JAR包至 BMR 集群 Master 节点。
- 测试验证JAR包正常运行:
java -jar bmr-hiveserver2-1.0.jar