(可选)安装UDF插件
当业务场景明确需要使用UDF(User Defined Functions,用户自定义函数)功能时,才需执行本章节的操作。插件安装操作仅需在管理节点完成。在Gluten上使能OmniOperator场景暂不支持加速UDF。
该插件目前仅支持HiveSimpleUDF类型(即基于Hive UDF框架编写的简单UDF)。HiveSimpleUDF是Hive中的一种用户定义函数类型,基于Hive的UDF框架实现,用于扩展Hive查询功能。由于Spark支持Hive的UDF接口,因此HiveSimpleUDF也可以在Spark环境中直接使用。
OmniOperator加速UDF,支持两种执行方式:行处理和批处理。可通过修改配置文件切换使用方式。
前置条件
UDF插件行处理安装
- 在管理节点创建“/opt/omni-operator/hive-udf”目录。
1mkdir /opt/omni-operator/hive-udf - 将上述相关的压缩文件udf.zip、conf.zip上传到管理节点的“/opt/omni-operator/hive-udf”目录。
udf.zip、conf.zip等压缩包名称用户根据自己实际情况可进行自定义,本处仅提供示例。
- 解压相关压缩文件。
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”文件中更新配置。
- 打开配置文件。
1vi /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”保存并退出编辑。
- 打开配置文件。
- 更新环境变量。
- 打开“~/.bashrc”文件。
1vi ~/.bashrc - 按“i”进入编辑模式,追加LD_LIBRARY_PATH的内容更新环境变量。
1export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/aarch64/server - 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 使更新后环境变量生效。
1source ~/.bashrc
- 打开“~/.bashrc”文件。
UDF插件批处理安装
在管理节点完成行处理安装的基础之上,执行以下步骤更新“/opt/omni-operator/conf/omni.conf”中的配置内容,以支持批处理操作。
- 打开文件。
1vi /opt/omni-operator/conf/omni.conf - 按“i”进入编辑模式,找到以下语句并修改。
1enableBatchExprEvaluate=true
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
父主题: 安装特性