(可选)安装UDF插件

仅使用OmniOperator算子加速UDF功能的情况下才需安装UDF插件,且仅支持Simple UDF。安装UDF插件仅在管理节点操作。OmniOperator算子加速UDF支持表达式行处理和批处理两种方式,两种方式可根据更改配置文件进行切换。

前置条件

本小节仅使用OmniOperator算子加速UDF(用户自定义函数,User Defined Functions)功能才需要进行操作,当前的OmniOperator算子加速UDF插件仅支持HiveSimpleUDF,用于执行基于Hive UDF框架编写的UDF函数。HiveSimpleUDF是Hive中的用户定义函数(UDF)类型之一,它是一种简单的UDF类型。

OmniOperator算子加速关于UDF的所需文件需用户提供相关JAR包和配置文件,包括udf.zip、conf.zip和udf.properties,其中udf.zip包含所有UDF的class文件,conf.zip包含UDF所依赖的配置文件,udf.properties是OmniOperator算子加速UDF配置文件,以udfName1和udfName2函数为例,udf.properties内容格式如下。

1
2
udfName1 com.huawei.udf.UdfName1
udfName2 com.huawei.udf.UdfName2

UDF插件行处理安装

  1. 在管理节点和计算节点创建“/opt/omni-operator/hive-udf”目录。

    1
    mkdir /opt/omni-operator/hive-udf
    

  2. 将上述相关的压缩文件udf.zip、conf.zip上传到管理节点和计算节点的“/opt/omni-operator/hive-udf”目录。
  3. 执行以下命令解压相关压缩文件。

    1
    2
    3
    4
    5
    cd /opt/omni-operator/hive-udf
    unzip udf.zip
    rm -f udf.zip
    unzip conf.zip
    rm -f conf.zip
    

  4. “/opt/omni-operator/conf/omni.conf”文件中更新配置内容。

    1. 打开“/opt/omni-operator/conf/omni.conf”文件。
      1
      vi /opt/omni-operator/conf/omni.conf
      
    2. “i”进入编辑模式,新增关于UDF配置相关内容。
      1
      2
      3
      4
      5
      6
      7
      # <----UDF properties---->
      #false表示使用表达式行处理,true表示使用表达式批处理
      enableBatchExprEvaluate=false
      #UDF白名单文件路径
      hiveUdfPropertyFilePath=./hive-udf/udf.properties
      #Hive UDF JAR所在目录路径
      hiveUdfDir=./hive-udf/udf
      

      配置的路径必须以字符“.”开始,OmniOperator运行的时候会读取环境变量OMNI_HOME的值替换字符“.”。

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  5. 通过vi打开“~/.bashrc”文件,在该文件中追加LD_LIBRARY_PATH的内容更新环境变量。

    1. 打开“~/.bashrc”文件。
      1
      vi ~/.bashrc
      
    2. “i”进入编辑模式,追加LD_LIBRARY_PATH的内容更新环境变量。
      1
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/aarch64/server
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 执行以下命令更新环境变量。
      1
      source ~/.bashrc
      

上述udf.zip、conf.zip等压缩包名称用户根据自己实际情况可进行自定义,本处仅提供示例。

UDF插件批处理安装

在管理节点行处理安装的基础之上,执行以下步骤更新omni.conf中的配置内容。

  1. 打开“/opt/omni-operator/conf/omni.conf”文件。

    1
    vi /opt/omni-operator/conf/omni.conf
    

  2. “i”进入编辑模式,更新关于UDF行/批处理配置相关内容。

    1
    enableBatchExprEvaluate=true
    

  3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。