Apache Tajo - 自定义函数


Apache Tajo 支持自定义/用户定义函数 (UDF)。可以在 python 中创建自定义函数。

自定义函数只是带有装饰器“@output_type(<tajo sql datatype>)”的普通 python 函数,如下所示 -

@ouput_type(“integer”) 
def sum_py(a, b): 
   return a + b; 

可以通过在“tajosite.xml”中添加以下配置来注册带有 UDF 的 python 脚本。

<property> 
   <name>tajo.function.python.code-dir</name> 
   <value>file:///path/to/script1.py,file:///path/to/script2.py</value> 
</property>

注册脚本后,重新启动集群,UDF 将在 SQL 查询中可用,如下所示 -

select sum_py(10, 10) as pyfn; 

Apache Tajo 也支持用户定义的聚合函数,但不支持用户定义的窗口函数。