Python Sprache einfache Tabellenfunktion
In diesem Beispiel wird der folgende Dateiname verwendet: ' timeSplitMany.py
Code erstellen
Der Code in diesem Beispiel erstellt eine Tabellenfunktion, die eine variable Anzahl von durch Kommas getrennten Zeitangaben enthält (z. B. "12:30:55,4:20:18"). Die Funktion gibt eine Zeile für jede Zeitrepräsentation aus. In jeder Zeile wird die Uhrzeit in ihre Einzelteile zerlegt angezeigt. Beachten Sie, dass Sie die Kontrolle über die E/A für die AE im "
def _runUdtf()
function übernehmen müssen.import nzae
class TimeSplitManyAe(nzae.Ae):
def _runUdtf(self):
for row in self:
for timeString in row[0].split(","):
self.output(timeString.split(":"))
TimeSplitManyAe.run()
Bereitstellung
Setzen Sie das Skript ein:
$NZ_EXPORT_DIR/ae/utilities/bin/compile_ae --language python64 \
--template deploy ./timeSplitMany.py --version 3Registrierung
Registrieren Sie die Tabellenfunktion AE:
$NZ_EXPORT_DIR/ae/utilities/bin/register_ae --language python64 --version 3 \
--template udtf --exe timeSplitMany.py \
--sig "time_split_many(varchar(1000))" \
--return "table(hour varchar(2), minute varchar(2), second varchar(2))"Aktiv
Führen Sie die Abfrage in nzsql aus:
SELECT * FROM TABLE WITH FINAL (time_split_many('13:22:47,22:12:45,03:22:09'));
HOUR | MINUTE | SECOND
------+--------+--------
13 | 22 | 47
22 | 12 | 45
03 | 22 | 09
(3 rows)