Función de fila simulada en lenguaje Python

Este ejemplo utiliza el siguiente nombre de archivo: ' timeSplit.py

Código

import nzae
class TimeSplitAe(nzae.Ae):
def _getFunctionResult(self, row):
return row[0].split(":")
TimeSplitAe.run()

virtual

Despliegue el script:
$NZ_EXPORT_DIR/ae/utilities/bin/compile_ae --language python64 \
--template deploy ./timeSplit.py --version 3

Registro

Dado que no existe un concepto integrado de función de fila en Netezza SQL (aunque sí en la interfaz del adaptador de Python ), esta función se registra como una función de tabla, a pesar de que sólo genera una fila por cada fila de entrada:
$NZ_EXPORT_DIR/ae/utilities/bin/register_ae --language python64 --version 3 \
--template udtf --exe timeSplit.py --sig "time_split(varchar(20))" \
--return "table(hour varchar(2), minute varchar(2), second varchar(2))"

En ejecución

Ejecute la consulta en nzsql:
SELECT * FROM TABLE WITH FINAL(time_split('13:22:47'));
HOUR | MINUTE | SECOND
------+--------+--------
13 | 22 | 47