
# 注册UDF
1. 构建Jar包。
   构建Jar包方式有以下两种：
   - 方法一： 选择"Maven \> *样例工程名称* \> Lifecycle \> clean"，双击"clean"运行maven的clean命令。
     选择"Maven \> *样例工程名称* \> Lifecycle \> install"，双击"install"运行maven的install命令。
     图1maven工具clean和install   
     ![](https://support.huaweicloud.com/devg-lts-mrs/zh-cn_image_0000001209703182.png) 
   
   
   
   - 方法二：在IDEA的下方Terminal窗口进入"pom.xml"所在目录，手动输入**mvn clean install** 命令进行编译。
     图2idea terminal输入"mvn clean install"的编译结果   
     ![](https://support.huaweicloud.com/devg-lts-mrs/zh-cn_image_0000001209223250.png "点击放大")
     编译完成，打印"BUILD SUCCESS"，生成target目录，生成Jar包在target目录中。
     
    
2. 导入依赖的Jar包。 以**root** 用户，登录IoTDBServer所在的节点，执行**su - omm** 命令切换到**omm** 用户，将[1]生成的Jar包导入到目录"$BIGDATA_HOME/FusionInsight_IoTDB_\*/install/FusionInsight-IoTDB-\*/iotdb/ext/udf"下。
   ![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/notice_3.0-zh-cn.png)
   - 在部署集群的时候，需要保证每一个IoTDBserver节点的UDF JAR包路径下都存在相应的Jar包。您可以通过修改IoTDB配置"udf_root_dir"来指定UDF加载Jar的根路径。
   
   - IoTDBServer所在节点的IP地址可在MRS集群管理控制台的"组件管理"界面，单击"IoTDB"，选择"实例"页签查看。
     
3. 使用SQL语句注册该UDF，语法如下： **CREATE FUNCTION** \<UDF-NAME\> **AS** '\<UDF-CLASS-FULL-PATHNAME\>'
   例如，注册名称为"example"的UDF的命令为：
   ```
   CREATE FUNCTION example AS 'com.huawei.bigdata.iotdb.UDTFExample'
   ```
   
 
