Python scalaire UDFs - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Python scalaire UDFs

Une fonction scalaire Python définie par l'utilisateur intègre un programme Python qui s'exécute lorsque la fonction est appelée et renvoie une valeur unique. La commande CREATE FUNCTION définit les paramètres suivants :

  • (Facultatif) Arguments d'entrée. Chaque argument doit disposer d'un nom et d'un type de données.

  • Un type de données de retour.

  • Un programme Python exécutable.

Les types de données d'entrée et de retour pour Python UDFs peuvent être l'un des types suivants :

  • SMALLINT

  • INTEGER

  • BIGINT

  • DECIMAL

  • REAL

  • DOUBLE PRECISION

  • BOOLEAN

  • CHAR

  • VARCHAR

  • DATE

  • TIMESTAMP

  • N'IMPORTE QUEL ÉLÉMENT

Les alias de ces types sont également valides. Pour une liste complète des types de données et de leurs alias, consultezTypes de données.

Lorsque Python UDFs utilise le type de données ANYELEMENT, Amazon Redshift le convertit automatiquement en un type de données standard en fonction des arguments fournis lors de l'exécution. Pour de plus amples informations, veuillez consulter Type de données ANYELEMENT.

Lorsqu'une requête Amazon Redshift appelle une fonction UDF scalaire, les étapes suivantes se produisent au moment de l'exécution :

  1. La fonction convertit les arguments d'entrée en types de données Python.

    Pour un mappage des types de données Amazon Redshift avec les types de données Python, consultez Types de données de fonctions Python définies par l'utilisateur.

  2. La fonction exécute le programme Python, en transmettant les arguments d'entrée convertis.

  3. Le code Python renvoie une valeur unique. Le type de données de la valeur de retour doit correspondre au type de données RETURNS spécifié par la définition de fonction.

  4. La fonction convertit la valeur de retour Python dans le type de données Amazon Redshift, puis renvoie cette valeur à la requête.

Note

Python 3 n'est pas disponible pour Python UDFs. Pour bénéficier de la prise en charge de Python 3 pour Amazon Redshift UDFs, utilisez Lambda scalaire UDFs plutôt.