更新时间:2024-02-01 GMT+08:00

环境准备

在配置开源Hive组件对接LakeFormation前,需要提前准备以下信息:

  1. 准备可用的开源Hive环境,目前支持Hive 2.3以及Hive 3.1两个版本,并安装Git环境。
  2. 准备LakeFormation实例,详细操作请参考创建LakeFormation实例
  3. 创建LakeFormation接入客户端,并与Hive在相同的虚拟私有云、子网下,详细操作请参考管理接入客户端
  4. 准备开发环境,详细操作请参考准备开发程序环境中“准备开发环境”部分,其中“安装和配置IntelliJ IDEA”为可选。
  5. 准备LakeFormation客户端。

  6. 准备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相关操作。

      1. 根据Hive版本下载Hive源码。

        例如Hive内核版本号为2.3.9,则下载链接为:https://github.com/apache/hive/tree/rel/release-2.3.9

      2. 将LakeFormation的客户端代码中的patch应用到Hive源码。
        1. 根据需要切换Hive源码分支,例如Hive内核版本号为2.3.9,则执行如下命令:

          git checkout rel/release-2.3.9

        2. 执行以下命令,将patch应用到切换分支后的Hive源码工程。

          mvn patch:apply -DpatchFile=${your patch file location}

          其中,“your patch file location”为hive-2_3_for_lakeformation.patch或hive-3_1_for_lakeformation.patch的存储路径。patch文件可在客户端工程中获取,如下图所示:

        3. 执行以下命令重新编译Hive内核源码。

          mvn clean install -DskipTests=true

  7. 准备并补充替换Hive内核相关的jar包。

    获取以下jar包,并补充或替换到Hive安装环境的lib目录下。

    表1 获取Hive环境所需jar包

    序号

    jar包名称

    获取途径

    1

    spring-web-5.3.24.jar

    https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-web/5.3.24/

    2

    spring-core-5.3.24.jar

    https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-core/5.3.24/

    3

    spring-context-5.3.24.jar

    https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-context/5.3.24/

    4

    spring-beans-5.3.24.jar

    https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-beans/5.3.24/

    5

    caffeine-2.9.3.jar

    https://mirrors.huaweicloud.com/repository/maven/com/github/ben-manes/caffeine/caffeine/2.9.3/

    6

    mapstruct-1.5.3.Final.jar

    https://mirrors.huaweicloud.com/repository/maven/org/mapstruct/mapstruct/1.5.3.Final/

    7

    http-core-4.4.13.jar

    (如果Hive内核版本为3.1,则不需要该jar包。)

    https://mirrors.huaweicloud.com/repository/maven/org/apache/httpcomponents/httpcore/4.4.13/

    8

    jca-1.0.4.jar

    https://mirrors.huaweicloud.com/repository/maven/org/openeuler/jca/1.0.4/

    9

    将commons-codec-1.4.jar替换为commons-codec-1.15.jar

    (如果Hive内核版本为3.1,则不需要该jar包。)

    https://mirrors.huaweicloud.com/repository/maven/commons-codec/commons-codec/1.15/

    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中获取。