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