前置条件

- 本小节仅使用OmniOperator算子加速 UDF(用户自定义函数,User Defined Functions)功能才需要进行操作,当前的OmniOperator算子加速 UDF插件仅支持Simple UDF,用于执行基于Hive 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内容格式如下:
- 将上述相关压缩文件上传到管理节点和计算节点的“/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
- 解压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;
表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;sed -i '$a export OMNI_HOME=/opt/omni-operator' ~/.bashrc;source ~/.bashrc;
- 选择“命令执行”,单击“添加”。
- 导出业务流,保存至本地。后续其他节点需要安装OmniOperator算子加速时,可通过导入业务流,快速安装。
- 单击右上角的“导出”。
弹出“选择模板保存路径”窗口。
- 将模板命名为“OmniOperator算子加速 UDF插件部署及配置WorkFlow”,单击“保存”。
- 单击右上角的“导出”。
- 执行业务流。
单击右下角的“完成”,选择“执行业务流”。执行状态成功即可。

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