链接复制成功!
环境准备
在配置开源Spark组件对接LakeFormation前,需要提前准备以下信息:
- 准备可用的开源Spark环境、开源Hive环境。并安装Git环境。
目前仅支持对接Spark 3.1.1以及Spark 3.3.1两个版本。对应使用Hive内核版本为2.3。
- 准备LakeFormation实例,详细操作请参考创建LakeFormation实例。
- 创建LakeFormation接入客户端,并与Spark在相同的虚拟私有云、子网下,详细操作请参考管理接入客户端。
- 准备开发环境,详细操作请参考准备开发程序环境中“准备开发环境”部分,其中“安装和配置IntelliJ IDEA”为可选。
- 准备LakeFormation客户端。
- 方式一:下载客户端发行版
获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases
根据Spark、Hive版本下载对应客户端(如Spark3.1.1,对应Hive版本为2.3.7,则下载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”:
- 配置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。
- 编译打包客户端代码。
- 根据Spark版本,进入客户端工程目录,执行以下打包命令:
- 打包完成后可以在“lakeformation-lakecat-client”的target目录下获取“lakeformation-lakecat-client-1.0.0.jar”。
- 获取客户端代码。
- 方式一:下载客户端发行版
- 准备并补充替换Hive内核相关的jar包。
如仅使用SparkCatalogPlugin方式对接,不使用MetastoreClient方式对接,本步骤可省略。
- 方式一:下载预构建Hive相关jar包
获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases
根据Spark、Hive版本下载对应客户端(如Spark3.1.1,对应Hive版本为2.3.7,则下载hive-exec-2.3.7-core.jar、hive-common-2.3.7.jar)
- 方式二:本地编译Hive相关jar包
如果对接的环境为Spark 3.1.1,则需使用Hive 2.3.7版本。对接的环境为Spark 3.3.1,则需使用Hive 2.3.9版本。
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包
- 补充Spark环境所需jar包。
获取以下jar包,并补充或替换到Spark的jars目录下。
表1 获取Spark环境所需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
log4j-api-2.19.0.jar(spark3.3无需补充)
8
java-sdk-core-3.2.4.jar
(如果仅使用自定义认证信息获取类使用Token认证,则无需补充该jar包。)
9
bcprov-jdk15to18-1.70.jar
10
jca-1.0.4.jar
https://mirrors.huaweicloud.com/repository/maven/org/openeuler/jca/1.0.4/jca-1.0.4.jar
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}-core.jar
步骤 6中获取。
14
hive-common-${version}.jar
步骤 6中获取。