Apache Tajo 简明教程

Apache Tajo - Custom Functions

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

自定义函数就是带装饰符 “@output_type(<tajo sql datatype>)” 的普通 Python 函数,如下所示 −

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

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

<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 也支持用户定义聚合函数,但不支持用户定义窗口函数。