---
title: 安装UDF插件
description: "- 本小节仅使用OmniOperator算子加速UDF（用户自定义函数，User Defined Functions）功能才需要进行操作，当前的OmniOperator算子加速UDF插件仅支持Simple UDF，用于执行基于Hive UDF框架编写的UDF函数。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0047.html
sourcePath: /source/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0047.html
indexId: c7305624b3b17ed4a460a161ad8d2eaec112e321827b5c3299dc044e14a888c680
---
# 安装UDF插件

#### 前置条件

- 本小节仅使用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内容格式如下：


#### UDF插件行处理安装

下述步骤需在管理节点和所有计算节点操作。

1. 在管理节点和计算节点创建“/opt/omni-operator/hive-udf”目录。

```
mkdir /opt/omni-operator/hive-udf
```


2. 将上述相关压缩文件上传到管理节点和计算节点的“/opt/omni-operator/hive-udf”目录。
3. 执行以下命令解压相关压缩文件。

```
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”文件。

```
vim /opt/omni-operator/conf/omni.conf
```


  b. 按“i”进入编辑模式，新增关于UDF配置相关内容。

```
# <----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. 通过vim打开“~/.bashrc”文件，在该文件中追加LD_LIBRARY_PATH的内容更新环境变量。

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

```
vim
~
/.bashrc
```


  b. 按“i”进入编辑模式，追加LD_LIBRARY_PATH的内容更新环境变量。

```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/aarch64/server
```


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

```
source
~
/.bashrc
```


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


#### UDF插件批处理安装

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

更新omni.conf中配置内容。

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

```
vim /opt/omni-operator/conf/omni.conf
```


2. 按“i”进入编辑模式，更新UDF行处理、批处理配置相关内容。

```
enableBatchExprEvaluate=true
```


3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
