Apache Tajo - funções personalizadas

Apache Tajo oferece suporte a funções definidas pelo usuário / personalizadas (UDFs). As funções personalizadas podem ser criadas em python.

As funções personalizadas são funções simples do Python com decorador “@output_type(<tajo sql datatype>)” como segue -

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

Os scripts python com UDFs podem ser registrados adicionando a configuração abaixo em “tajosite.xml”.

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

Assim que os scripts forem registrados, reinicie o cluster e os UDFs estarão disponíveis diretamente na consulta SQL da seguinte forma -

select sum_py(10, 10) as pyfn;

O Apache Tajo também oferece suporte a funções de agregação definidas pelo usuário, mas não oferece suporte a funções de janela definidas pelo usuário.