更新时间:2025-01-22 GMT+08:00

创建函数

功能描述

DLI支持创建使用UDF和UDTF等自定义函数应用于Spark作业开发当中。

语法格式

1
2
3
4
5
CREATE FUNCTION [db_name.]function_name AS class_name
  [USING resource,...]

resource: 
  : JAR file_uri

1
2
3
4
5
CREATE OR REPLACE FUNCTION [db_name.]function_name AS class_name
  [USING resource,...]

resource: 
  : JAR file_uri

注意事项

  • 如果在数据库中存在同名的函数,系统将会报错。
  • 只支持Hive语法创建函数。
  • 请注意避免该场景:如果创建的自定义函数F1指定类C1,程序包名JAR1,创建自定义函数F2也指定类C1,程序包JAR2,因为F2和F1使用相同的类名,导致功能相互冲突,影响作业执行。

关键字

  • USING <resources>:需要加载的资源。可以是JAR、文件或者URI的列表。

示例

创建函数mergeBill。

1
2
CREATE FUNCTION mergeBill AS 'com.xxx.hiveudf.MergeBill'
  using jar 'obs://onlyci-7/udf/MergeBill.jar';