Ejecución de EAs en detalle

Aprenda a ejecutar R As (ejecutables analíticos).

Acerca de esta tarea

R Analytic Executables (AEs) se construyen sobre AEs regulares para soportar el lenguaje de programación R con el entorno R en Netezza. La capa que gestiona R en Netezza se denomina R Language Adapter, o R Adapter.

El siguiente ejemplo de código R, que asume al menos una columna de entrada, calcula la raíz cuadrada de la primera columna de entrada y emite el resultado como la única columna de salida.
nz.fun <- function() {
while(getNext()) {
x <- getInputColumn(0)
setOutputDouble(0,sqrt(as.double(x)))
outputResult()
}
}

Procedimiento

  1. 'Crea un archivo ' /tmp/rae.R ' e introduce el código. Después de guardar el archivo, puede compilarlo. El siguiente comando de ejemplo inicia la herramienta de compilación, suponiendo que la variable de entorno ' NZ_EXPORT_DIR ' apunta a ' /nz/export:
    /nz/export/ae/utilities/bin/compile_ae --language r \
    --template compile --version 3 --db dev --user nz /tmp/rae.R

    Este comando crea el archivo ' rae.R ' que se encuentra en ' /nz/export/ae/applications/dev/nz/. Los dos últimos directorios coinciden con el nombre de la base de datos y el nombre de usuario especificados en el comando.

  2. ' El último paso para ejecutar el ejecutable analítico de R desde SQL es el registro. El código de ejemplo para registrar el archivo compilado en la base de datos dev:
    /nz/export/ae/utilities/bin/register_ae --language r \
    --template udf --version 3 --db dev --user nz \
    --sig 'rae(double)' --return 'double' --exe 'rae.R'
    Los siguientes interruptores que aparecen en el comando son:
    --sig
    Define el nombre de la UDX junto con la firma de entrada.
    --return
    Define la firma de salida o el tipo de resultado.
    --exe
    Apunta al archivo específico que se compiló.
    Debe guardar este archivo en ' /nz/export/ae/applications/dev/nz/. La ruta completa se determina a partir de los valores de los interruptores --db y --user .
  3. Una vez completado este comando, puede iniciar sesión en la base de datos dev y ejecutar la nueva UDX:
    SELECT rae(column_name) FROM table_name;

    Cuando se ejecuta la UDX, cada partición de datos inicia un nuevo proceso R e inicia el Adaptador R que llama a la función ' nz.fun ' desde el archivo.

    Salida de ejemplo:
    RAE
    -----------------
    2.5099800796022
    2.4083189157585
    (2 rows)