环境准备
在配置开源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目录下。