Apache Tajo - Funciones personalizadas

Apache Tajo admite las funciones personalizadas / definidas por el usuario (UDF). Las funciones personalizadas se pueden crear en Python.

Las funciones personalizadas son funciones simples de Python con decorador “@output_type(<tajo sql datatype>)” como sigue -

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

Los scripts de Python con UDF se pueden registrar agregando la siguiente configuración en “tajosite.xml”.

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

Una vez que los scripts estén registrados, reinicie el clúster y las UDF estarán disponibles directamente en la consulta SQL de la siguiente manera:

select sum_py(10, 10) as pyfn;

Apache Tajo también admite funciones agregadas definidas por el usuario, pero no admite funciones de ventana definidas por el usuario.