(可选)安装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插件行处理安装
- 在管理节点和计算节点创建“/opt/omni-operator/hive-udf”目录。
1
mkdir /opt/omni-operator/hive-udf
- 将上述相关的压缩文件udf.zip、conf.zip上传到管理节点和计算节点的“/opt/omni-operator/hive-udf”目录。
- 执行以下命令解压相关压缩文件。
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
- 在“/opt/omni-operator/conf/omni.conf”文件中更新配置内容。
- 打开“/opt/omni-operator/conf/omni.conf”文件。
1
vi /opt/omni-operator/conf/omni.conf
- 按“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的值替换字符“.”。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/opt/omni-operator/conf/omni.conf”文件。
- 通过vi打开“~/.bashrc”文件,在该文件中追加LD_LIBRARY_PATH的内容更新环境变量。
- 打开“~/.bashrc”文件。
1
vi ~/.bashrc
- 按“i”进入编辑模式,追加LD_LIBRARY_PATH的内容更新环境变量。
1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/aarch64/server
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 执行以下命令更新环境变量。
1
source ~/.bashrc
- 打开“~/.bashrc”文件。

上述udf.zip、conf.zip等压缩包名称用户根据自己实际情况可进行自定义,本处仅提供示例。
UDF插件批处理安装
在管理节点行处理安装的基础之上,执行以下步骤更新omni.conf中的配置内容。
- 打开“/opt/omni-operator/conf/omni.conf”文件。
1
vi /opt/omni-operator/conf/omni.conf
- 按“i”进入编辑模式,更新关于UDF行/批处理配置相关内容。
1
enableBatchExprEvaluate=true
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
父主题: 安装特性