UDF de Python escalares - Amazon Redshift

UDF de Python escalares

Una UDF de Python escalar incorpora un programa Python que se ejecuta cuando se llama a la función y se obtiene un solo valor. El comando CREATE FUNCTION define los siguientes parámetros:

  • Argumentos de entrada (opcionales). Cada argumento debe tener un nombre y un tipo de datos.

  • Un tipo de datos de retorno.

  • Un programa en Python ejecutable.

Los tipos de datos de entrada y salida pueden ser SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE o TIMESTAMP. Además, las UDF de Python pueden utilizar el tipo de datos ANYELEMENT, que Amazon Redshift convierte de forma automática a un tipo de datos estándar en función de los argumentos proporcionados durante el tiempo de ejecución. Para obtener más información, consultar Tipo de datos ANYELEMENT

Los siguientes pasos se producen durante el tiempo de ejecución cuando una consulta de Amazon Redshift llama a una UDF escalar:

  1. La función convierte los argumentos de entrada a tipos de datos de Python.

    Para la asignación de los tipos de datos de Amazon Redshift y los tipos de datos de Python, consulte Tipos de datos de UDF de Python.

  2. La función ejecuta el programa en Python y pasa los argumentos de entrada convertidos.

  3. El código en Python devuelve un valor único. El tipo de dato del valor de retorno debe coincidir con el tipo de dato RETURNS especificado por la definición de la función.

  4. La función convierte el valor de retorno en Python al tipo de datos de Amazon Redshift especificado y, luego, devuelve ese valor a la consulta.

nota

Python 3 no está disponible para las UDF de Python. Para obtener compatibilidad con Python 3 para las UDF de Amazon Redshift, utilice UDF de Lambda escalares en su lugar.