---
title: （可选）安装UDF插件
description: "仅使用OmniOperator算子加速 UDF功能的情况下才需安装UDF插件，且仅支持Simple UDF。安装UDF插件需要在管理节点和所有计算节点上操作。OmniOperator算子加速 UDF支持表达式行处理和批处理两种方式，两种方式可通过更改配置文件进行切换。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/bds/kunpengbds_omniruntime_20_0047.html
sourcePath: /source/zh/kunpengboostkithistory/2300/bds/kunpengbds_omniruntime_20_0047.html
indexId: 3aea75c1ccfe0291d7fbe4924a15013ece25b034c3b64eaa30cd2328fdad6f7878
---
# （可选）安装UDF插件

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

#### 前置条件

本小节仅使用OmniOperator算子加速 UDF（用户自定义函数，User Defined Functions）功能才需要进行操作，当前的OmniOperator算子加速 UDF插件仅支持Simple UDF，用于执行基于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内容格式如下。

```
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. 将上述相关压缩文件上传到管理节点和计算节点的“/opt/omni-operator/hive-udf”目录。
3. 执行以下命令解压相关压缩文件。
  1 2 3 4 unzip udf.zip rm -f udf.zip unzip conf.zip rm -f conf.zip

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

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

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

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
5. 通过vi打开“~/.bashrc”文件，在该文件中追加LD_LIBRARY_PATH的内容更新环境变量。

  a. 打开“~/.bashrc”文件。
    1 vi ~/.bashrc

  b. 按“i”进入编辑模式，追加LD_LIBRARY_PATH的内容更新环境变量。
    1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/aarch64/server

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  d. 执行以下命令更新环境变量。
    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”保存并退出编辑。
