环境准备
在配置开源Hive组件对接LakeFormation前,需要提前准备以下信息:
- 准备可用的开源Hive环境,目前支持Hive 2.3以及Hive 3.1两个版本,并安装Git环境。
- 准备LakeFormation实例,详细操作请参考创建LakeFormation实例。
- 创建LakeFormation接入客户端,并与Hive在相同的虚拟私有云、子网下,详细操作请参考管理接入客户端。
- 准备开发环境,详细操作请参考准备开发程序环境中“准备开发环境”部分,其中“安装和配置IntelliJ IDEA”为可选。
- 准备LakeFormation客户端。
- 方式一:下载客户端发行版
获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases
根据Spark、Hive版本下载对应客户端(Hive版本为2.3.9,则下载lakeformation-lakecat-client-hive2.3-v1.0.0.rar)
校验压缩包:下载后在Windows环境下执行certutil -hashfile <压缩包> sha256,检查回显信息与对应sha256文件内容是否一致。
- 方式二:本地编译客户端
- 获取客户端代码。
获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java。
并在Git中执行以下命令将分支切换为“master_dev”:
git checkout master_dev
- 配置maven源,详细操作请参考获取SDK并配置maven。
- 获取以下jar包以及对应的pom文件,并将文件放入maven本地仓库。
例如本地仓库地址为“D:\maven\repository”,则放入“D:\maven\repository\com\huaweicloud\hadoop-huaweicloud\3.1.1-hw-53.8”目录下。
- jar包:https://github.com/huaweicloud/obsa-hdfs/blob/master/release/hadoop-huaweicloud-3.1.1-hw-53.8.jar
- pom文件:https://github.com/huaweicloud/obsa-hdfs/blob/master/hadoop-huaweicloud/pom.xml,并改名为hadoop-huaweicloud-3.1.1-hw-53.8.pom。
- 编译打包客户端代码。
mvn clean install -DskipTests=true -P"${HIVE_PROFILE}"
“HIVE_PROFILE”:可选择为“hive-2.3”或者“hive-3.1”。
- 打包完成后可以在“lakeformation-lakecat-client”的target目录下获取“lakeformation-lakecat-client-1.0.0.jar”。
- 获取客户端代码。
- 方式一:下载客户端发行版
- 准备Hive内核相关的jar包。
- 方式一:下载预构建Hive相关jar包
获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases
根据Hive版本下载对应客户端(Hive版本为2.3.9,则下载hive-exec-2.3.9.jar、hive-common-2.3.9.jar)
- 方式二:本地编译Hive相关jar包
Windows系统下需要在WSL开发环境下进行maven相关操作。
- 根据Hive版本下载Hive源码。
例如Hive内核版本号为2.3.9,则下载链接为:https://github.com/apache/hive/tree/rel/release-2.3.9
- 将LakeFormation的客户端代码中的patch应用到Hive源码。
- 根据Hive版本下载Hive源码。
- 方式一:下载预构建Hive相关jar包
- 准备并补充替换Hive内核相关的jar包。
获取以下jar包,并补充或替换到Hive安装环境的lib目录下。
表1 获取Hive环境所需jar包 序号
jar包名称
获取途径
1
spring-web-5.3.24.jar
2
spring-core-5.3.24.jar
3
spring-context-5.3.24.jar
4
spring-beans-5.3.24.jar
5
caffeine-2.9.3.jar
6
mapstruct-1.5.3.Final.jar
7
httpcore-4.4.13.jar
(如果Hive内核版本为3.1,则不需要该jar包。)
8
jca-1.0.4.jar
https://mirrors.huaweicloud.com/repository/maven/org/openeuler/jca/1.0.4/jca-1.0.4.jar
9
将commons-codec-1.4.jar替换为commons-codec-1.15.jar
(如果Hive内核版本为3.1,则不需要该jar包。)
10
java-sdk-core-3.2.4.jar
(如果仅使用自定义认证信息获取类使用Token认证,则无需补充该jar包。)
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/com/huawei/apigateway/java-sdk-core/
11
hadoop-huaweicloud-3.1.1-hw-53.8.jar
https://github.com/huaweicloud/obsa-hdfs/blob/master/release/hadoop-huaweicloud-3.1.1-hw-53.8.jar
12
lakeformation-lakecat-client-1.0.0.jar
步骤 5中获取。
13
hive-exec-${version}.jar
步骤 6中获取。
14
hive-common-${version}.jar
步骤 6中获取。