您可以编写自定义函数并在MaxCompute SQL中使用它们。

基本操作

  • list_functions():获取项目空间下的所有函数。
  • exist_function():用于判断是否存在某个函数。
  • get_function():用于获取函数对象。
  • create_function():创建函数。
  • delete_function():删除函数。

创建函数

使用入口对象的create_function()方法即可创建函数。举例如下。
# 引用当前project中的资源。
resource = o.get_resource('my_udf.py')
function = o.create_function('test_function', class_type='my_udf.Test', resources=[resource])
# 引用其他project中的资源。
resource2 = o.get_resource('my_udf.py', project='another_project')
function2 = o.create_function('test_function2', class_type='my_udf.Test', resources=[resource2])

删除函数

使用入口对象的delete_function()方法即可删除函数,也可以使用函数对象调用drop方法删除函数。举例如下。

o.delete_function('test_function')
function.drop()  # Function对象存在时直接调用drop方法。

更新函数

对函数调用update方法即可更新函数。举例如下。

function = o.get_function('test_function')
new_resource = o.get_resource('my_udf2.py')
function.class_type = 'my_udf2.Test'
function.resources = [new_resource, ]
function.update()  # 更新函数。