Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Skalares Python UDFs
Eine skalare Python-UDF enthält ein Python-Programm, das ausgeführt wird, wenn die Funktion aufgerufen wird, und die Funktion gibt dann einen einzelnen Wert zurück. Der Befehl CREATE FUNCTION wird mit den folgenden Parametern aufgerufen:
-
(Optional) Eingabeparameter, jeweils mit Namen und Datentyp
-
Ein Rückgabedatentyp
-
Ein ausführbares Python-Programm
Als Eingabe- und Rückgabedatentypen kommen SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE oder TIMESTAMP infrage. Darüber hinaus UDFs kann Python den Datentyp ANYELEMENT verwenden, den Amazon Redshift auf der Grundlage der zur Laufzeit bereitgestellten Argumente automatisch in einen Standarddatentyp konvertiert. Weitere Informationen finden Sie unter Datentyp ANYELEMENT
Wenn eine Amazon-Redshift-Abfrage eine skalare UDF aufruft, wird zur Laufzeit Folgendes durchgeführt.
-
Die Funktion wandelt die Eingabeparameter werden in Python-Datentypen um.
Ein Mapping von Amazon-Redshift-Datentypen zu Python-Datentypen finden Sie in Python-UDF-Datentypen.
-
Die Funktion führt das Python-Programm mit den umgewandelten Eingabeparametern aus.
-
Das Python-Programm gibt einen einzelnen Wert zurück. Der Datentyp des Rückgabewerts muss dem RETURNS-Datentyp in der Funktionsdefinition entsprechen.
-
Die Funktion wandelt den Python-Rückgabewert in den angegebenen Amazon-Redshift-Datentyp um und gibt diesen Wert an die Abfrage zurück.
Anmerkung
Python 3 ist für Python nicht verfügbar UDFs. Um Python 3-Unterstützung für Amazon Redshift zu erhalten UDFs, verwenden Sie Skalares Lambda UDFs stattdessen.