Modo de salida del idioma R
La firma de salida UDX es la definición de una función específica o resultado agregado. Puede ser un escalar (UDF/UDA) o una tabla (UDTF).
apply(iris, 1, function(x) length(x))
apply(iris[,1:4], 1, function(x) c(length(x),sqrt(as.double(x))))
En el Adaptador R, el modo de salida está controlado por la variable de entorno OUTPUT_TYPE que se establece durante el registro.
- Para el modo disperso, añade:
--define "r_ae_output_type=SPARSE" - Para el modo tabla, añade:
--define "r_ae_output_type=TABLE"
Modo de salida dispersa
Generalmente, la salida de la función proporcionada por el usuario no puede restringirse a ninguna forma predefinida. En el modo de salida dispersa, el R AE devuelve una tabla de la definición TABLE(columnid INT4, valueVARCHAR(16000)), lo que significa que cada columna de salida del R AE se convierte en una cadena de caracteres. Si desea recuperar el valor original, deberá convertir manualmente cada valor al tipo de datos deseado. Sin embargo, debe evitar esta práctica porque puede provocar errores de redondeo adicionales y afectar al rendimiento, especialmente en el caso de grandes conjuntos de datos.
En este modo, no hay diferencia entre devolver datos de salida con una función general ' setOutput ' y funciones específicas setOutput<DataType>, donde ' <DataType> ' es un marcador de posición para un identificador de tipo de datos específico. Todos los datos de salida se almacenan finalmente como una cadena de caracteres.
Modo de salida de tabla
- Ajuste exacto que especifica las columnas con sus tipos de datos.
Establecido en TABLE(ANY) para el que debe definir una función de modelado que especifique la firma de salida en tiempo de ejecución.
En el modo de salida de tabla, evite la función setOutput. En su lugar, se utilizan funciones setOutput<DataType> ' específicas, donde ' <DataType> ' es un marcador de posición para un identificador de tipo de datos específico.