Apache Tajo - Funzioni personalizzate

Apache Tajo supporta le funzioni personalizzate / definite dall'utente (UDF). Le funzioni personalizzate possono essere create in python.

Le funzioni personalizzate sono solo semplici funzioni Python con decorator “@output_type(<tajo sql datatype>)” come segue -

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

Gli script python con UDF possono essere registrati aggiungendo la configurazione seguente in “tajosite.xml”.

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

Una volta registrati gli script, riavvia il cluster e le UDF saranno disponibili direttamente nella query SQL come segue:

select sum_py(10, 10) as pyfn;

Apache Tajo supporta anche le funzioni aggregate definite dall'utente ma non supporta le funzioni della finestra definite dall'utente.