Função de linha simulada da linguagem Python

Este exemplo usa o seguinte nome de arquivo: ' timeSplit.py

Código

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

Implementação

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

Registro

Como não há um conceito incorporado de uma função de linha no Netezza SQL - embora haja um na interface do adaptador Python - essa função é registrada como uma função de tabela, mesmo que produza apenas uma linha por linha 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))"

Executando

Execute a consulta no nzsql:
SELECT * FROM TABLE WITH FINAL(time_split('13:22:47'));
HOUR | MINUTE | SECOND
------+--------+--------
13 | 22 | 47