您可以編寫自定義函數(shù)并在MaxCompute SQL中使用它們。

基本操作

  • list_functions():獲取項(xiàng)目空間下的所有函數(shù)。
  • exist_function():用于判斷是否存在某個(gè)函數(shù)。
  • get_function():用于獲取函數(shù)對象。
  • create_function():創(chuàng)建函數(shù)。
  • delete_function():刪除函數(shù)。

創(chuàng)建函數(shù)

使用入口對象的create_function()方法即可創(chuàng)建函數(shù)。舉例如下。
# 引用當(dāng)前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])

刪除函數(shù)

使用入口對象的delete_function()方法即可刪除函數(shù),也可以使用函數(shù)對象調(diào)用drop方法刪除函數(shù)。舉例如下。

o.delete_function('test_function')
function.drop()  # Function對象存在時(shí)直接調(diào)用drop方法。

更新函數(shù)

對函數(shù)調(diào)用update方法即可更新函數(shù)。舉例如下。

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()  # 更新函數(shù)。