安装UDF插件

OmniOperator算子加速 UDF功能,即用于执行基于Hive UDF框架编写的UDF函数,当前OmniOperator算子加速 UDF插件仅支持Simple UDF。若您需要使用该功能则需要进行安装UDF插件和表达式处理方式的配置操作。

前置条件

OmniOperator算子加速 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
  1. 将上述相关压缩文件上传到管理节点和计算节点的“/opt/omni-operator/hive-udf”目录。

    使用批量分发功能,选中所有节点“配置业务流”,选择“文件传输”,“添加”表1~表3的内容,单击“保存”
    表1 任务1编辑参数内容

    参数

    内容

    任务名称

    拷贝软件安装包udf.zip

    任务描述

    拷贝udf.zip软件安装包到全部节点

    传输方向

    从本地传至远端主机

    本地路径

    本地软件安装包所在的目录

    远端路径

    /opt/omni-operator/hive-udf

    表2 任务2编辑参数内容

    参数

    内容

    任务名称

    拷贝conf.zip软件安装包

    任务描述

    拷贝conf.zip软件安装包到全部节点

    传输方向

    从本地传至远端主机

    本地路径

    本地软件安装包所在的目录

    远端路径

    /opt/omni-operator/hive-udf

    表3 任务3编辑参数内容

    参数

    内容

    任务名称

    拷贝udf.properties文件

    任务描述

    拷贝udf.properties文件到全部节点

    传输方向

    从本地传至远端主机

    本地路径

    本地软件安装包所在的目录

    远端路径

    /opt/omni-operator/hive-udf

  2. 解压udf.zip、conf.zip并配置环境变量。

    选择“命令执行”“添加”表4~表5内容,单击“保存”
    表4 任务4编辑参数内容

    参数

    内容

    任务名称

    解压udf.zip、conf.zip软件安装包

    任务描述

    解压udf.zip、conf.zip软件安装包

    运行目录

    /opt/omni-operator/hive-udf

    执行命令

    unzip -o udf.zip;rm -f udf.zip;unzip -o conf.zip;rm -f conf.zip;

    压缩包名称用户可进行自定义,本处udf.zip仅提供示例。

    表5 任务5编辑参数内容

    参数

    内容

    任务名称

    配置OmniOperator算子加速 UDF环境变量

    任务描述

    在所有节点配置OmniOperator算子加速 UDF环境变量

    运行目录

    /opt/omni-operator

    执行命令

    sed -i '$a export LD_LIBRARY_PATH=${JAVA_HOME}/jre/lib/aarch64/server/:$LD_LIBRARY_PATH' ~/.bashrc;source ~/.bashrc;

  3. 导出业务流,保存至本地。后续其他节点需要安装OmniOperator时,可通过导入业务流,快速安装。

    1. 单击右上角的“导出”,弹出“选择模板保存路径”窗口。
    2. 将模板命名为“OmniOperator UDF插件安装及配置WorkFlow”,单击“保存”

  4. 执行业务流,执行状态成功即可。

UDF插件行处理安装

OmniOperator算子加速 UDF插件行处理安装方式是在安装完OmniOperator算子加速 UDF插件后,通过添加配置项使得UDF走到行处理流程。因此需要先完成OmniOperator算子加速 UDF插件安装,具体请参见安装UDF插件

  1. 在所有节点的omni.conf中配置行处理参数内容。

    使用批量分发功能,选择“命令执行”“添加”表6~表7内容,单击“保存”
    表6 任务1编辑参数内容

    参数

    内容

    任务名称

    创建/opt/omni-operator/conf目录

    任务描述

    创建/opt/omni-operator/conf目录,如果已有配置则删除原先配置

    运行目录

    /opt/omni-operator

    执行命令

    mkdir -p /opt/omni-operator/conf;

    sed -i '/enableBatchExprEvaluate/d' /opt/omni-operator/conf/omni.conf;

    sed -i '/hiveUdfPropertyFilePath/d' /opt/omni-operator/conf/omni.conf;

    sed -i '/hiveUdfDir/d' /opt/omni-operator/conf/omni.conf;

    表7 任务2编辑参数内容

    参数

    内容

    任务名称

    omni.conf中配置行处理参数内容

    任务描述

    在所有节点的omni.conf中配置行处理参数内容

    运行目录

    /opt/omni-operator/conf

    执行命令

    echo "enableBatchExprEvaluate=false" >> /opt/omni-operator/conf/omni.conf;

    echo "hiveUdfPropertyFilePath=/opt/omni-operator/hive-udf/udf.properties" >> /opt/omni-operator/conf/omni.conf;

    echo "hiveUdfDir=/opt/omni-operator/hive-udf/udf" >> /opt/omni-operator/conf/omni.conf;

  2. 导出业务流,保存至本地。后续其他安装,可通过导入业务流,快速安装。

    1. 单击右上角的“导出”。弹出“选择模板保存路径”窗口。
    2. 将模板命名为“OmniOperator UDF插件行处理方式安装及配置WorkFlow”,单击“保存”

  3. 执行业务流,执行状态成功即可。

UDF插件批处理安装

在行处理安装的基础之上,在管理节点和所有计算节点执行以下步骤:

  1. 在所有节点的omni.conf中配置批处理参数内容。

    使用批量分发功能,选择“命令执行”“添加”表8内容,单击“保存”
    表8 任务1编辑参数内容

    参数

    内容

    任务名称

    omni.conf中配置批处理参数内容

    任务描述

    在所有节点的omni.conf中配置批处理参数内容

    运行目录

    /opt/omni-operator/conf

    执行命令

    sed -i '/enableBatchExprEvaluate/d' /opt/omni-operator/conf/omni.conf;

    echo "enableBatchExprEvaluate=true" >> /opt/omni-operator/conf/omni.conf;

    enableBatchExprEvaluate=true表示开启OmniOperator算子加速批处理,false表示关闭OmniOperator算子加速批处理(默认false)。

  2. 导出业务流,保存至本地。后续其他安装,即可通过导入业务流,快速安装。

    1. 单击右上角的“导出”

      弹出“选择模板保存路径”窗口。

    2. 将模板命名为“OmniOperator算子加速 UDF插件批处理方式安装及配置WorkFlow”,单击“保存”

  3. 执行业务流,执行状态成功即可。