Apache Tajo - Fonctions personnalisées

Apache Tajo prend en charge les fonctions personnalisées / définies par l'utilisateur (UDF). Les fonctions personnalisées peuvent être créées en python.

Les fonctions personnalisées ne sont que des fonctions python simples avec décorateur “@output_type(<tajo sql datatype>)” comme suit -

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

Les scripts python avec UDF peuvent être enregistrés en ajoutant la configuration ci-dessous dans “tajosite.xml”.

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

Une fois les scripts enregistrés, redémarrez le cluster et les UDF seront disponibles directement dans la requête SQL comme suit -

select sum_py(10, 10) as pyfn;

Apache Tajo prend également en charge les fonctions d'agrégation définies par l'utilisateur, mais ne prend pas en charge les fonctions de fenêtre définies par l'utilisateur.