Variables de entorno AE y ' register_ae
En función de los argumentos especificados, ' register_ae ' establece una serie de variables de entorno AE del sistema.
El comportamiento del proceso AE está controlado por estas variables, que incluyen la ruta del ejecutable, los argumentos de la línea de comandos, las opciones de registro, las rutas, etc. Para ver qué variables se establecen mediante una invocación de " register_ae, utilice la opción " --echo.
- --echo
- Muestra cómo se expande la plantilla de compilación. Consulte la salida de nzsql '
showen la descripción de '--environment' para ver un ejemplo de los resultados de '--echo. - --environment <variable>
- Establece una variable de entorno específica del sistema AE o del usuario. Puede anular las variables de entorno establecidas por ' register_ae, utilizar variables avanzadas de registro AE que no sean compatibles con ' register_ae, y establecer variables de entorno específicas del usuario.Nota: La subcadena inicial "NZAE" está reservada para variables de entorno del sistema AE y no debe utilizarse para variables específicas del usuario.Ejemplo de variable específica del usuario:
--environment "'APPLY_INFO'='true'"Toda la potencia de los EA está disponible a través de las variables de entorno del sistema de EA. Para obtener más información, consulte Introducción a las variables de entorno AE.
Cuando se registra una función, se pueden mostrar los efectos de las opciones -environment (y muchos otros ajustes de la función SQL del sistema NPS) mediante el comando SQL show. En el siguiente ejemplo se registra una función de tabla que llama a un AE de Java:register_ae --language java --template udtf --version 3 --sig "applyOperationV2Tf(varargs)" --return "table(result double)" --define java_class=org.netezza.education.ApplyDriverV2 -- level 1 --environment "'APPLY_FUNCTION'='OPERATION'"Ejecutando 'showen nzsql se obtiene el siguiente ejemplo:
Utilice la opción verbose para mostrar información adicional. Además de utilizar el comando show, puede ejecutar ' register_ae con la opción 'SHOW FUNCTION applyOperationV2Tf; RESULT | FUNCTION | BUILTIN | ARGUMENTS --------------------------------+--------------------+---------+--- TABLE(RESULT DOUBLE PRECISION) | APPLYOPERATIONV2TF | f | ()--echo' para mostrar esta salida. Para comprender completamente la salida, consulte Introducción a las variables de entorno AE. A continuación se muestran las variables de entorno AE del ejemplo 'applyOperationV2Tf:SHOW FUNCTION applyoperationV2TF VERBOSE; APPLY_FUNCTION=OPERATION NZAE_REGISTER_NZAE_DYNAMIC_ENVIRONMENT=0 NZAE_REGISTER_NZAE_EXECUTABLE_PATH= /nz/export/ae/languages/java/6.13.0/jdk1.6.0_13/bin/java NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_DEBUG=1 NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_PREPEND_LD_LIBRARY_PATH= /nz/export/ae/adapters/java/3/sys/nz/lib/host NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_REMOTE =0 NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_REMOTE_LAUNCH_VERBOSE=0 NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_REMOTE_NAME= NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_REMOTE_NAME_DATA_SLICE=0 NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_REMOTE_NAME_SESSION=0 NZAE_REGISTER_NZAE_HOST_ONLY_NZAE_REMOTE_NAME_TRANSACTION=0 NZAE_REGISTER_NZAE_LOG_IDENTIFIER=applyOperationV2Tf(varargs) NZAE_REGISTER_NZAE_NUMBER_PARAMETERS=1 NZAE_REGISTER_NZAE_PARAMETER1=org.netezza.education.ApplyDriverV2 NZAE_REGISTER_NZAE_PREPEND_CLASSPATH= /nz/export/ae/applications/dev/admin/java/: /nz/export/ae/applications/dev/admin/java: /nz/export/ae/adapters/java/3/sys/nz/java/nzae.jar NZAE_REGISTER_NZAE_PREPEND_PATH= /nz/export/ae/languages/java/6.13.0/jdk1.6.0_13/bin NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_DEBUG=1 NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_PREPEND_LD_LIBRARY_PATH= /nz/export/ae/adapters/java/3/sys/nz/lib/spu10 NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_REMOTE =0 NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_REMOTE_LAUNCH_VERBOSE=0 NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_REMOTE_NAME= NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_REMOTE_NAME_DATA_SLICE=0 NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_REMOTE_NAME_SESSION=0 NZAE_REGISTER_NZAE_SPU_ONLY_NZAE_REMOTE_NAME_TRANSACTION=0El prefijo "
NZAE_REGISTER" está reservado para uso interno de " register_ae. En tiempo de ejecución, este prefijo se elimina. Por ejemplo, "NZAE_REGISTER_NZAE_NUMBER_PARAMETERS=1" se convierte en "NZAE_NUMBER_PARAMETERS=1.Si en este caso 'NZAE_NUMBER_PARAMETERS' estaba previamente definido, se descarta la versión 'NZAE_REGISTER'. Así, una variable de entorno AE que empiece por 'NZAE_REGISTER' puede ser anulada utilizando la opción ' register_ae --environment. Como ejemplo, el registro Java anterior se modifica para añadir una propiedad y un argumento de línea de comandos a la clase Java principal:register_ae --language java --template udtf --version 3 --db dev --sig "applyOperationV2Tf(varargs)" --return "table(result double)" --define java_class=org.netezza.education.ApplyDriverV2 -- level 1 --environment "'APPLY_FUNCTION'='OPERATION'" --environment "'NZAE_NUMBER_PARAMETERS'='3'" --environment "'NZAE_PARAMETER1'='-Dmyprop=x'" --environment "'NZAE_PARAMETER2'='org.netezza.education.ApplyDriverV2'" --environment "'NZAE_PARAMETER3'='my parameter'"Nota: Las anulaciones de la opción --environment no llevan el prefijo 'NZAE_REGISTER.Puede utilizar la capacidad ' register_ae ' para transformar opciones en variables de entorno AE del sistema y ajustes de funciones del sistema NPS cuando utilice AE en métodos avanzados y para diagnosticar problemas.
Desregistro de variables de entorno establecidas por ' register_ae
NZAE_UNREGISTER_ prefix. Por ejemplo, para eliminar ' NZAE_REGISTER_NZAE_NUMBER_PARAMETERS=0:--environment "'NZAE_UNREGISTER_NZAE_NUMBER_PARAMETERS '='any value'"
Opciones de función escalar
- --nondet
- Establece que esta función escalar es no determinista. En otras palabras, niega la optimización por defecto, en la que el sistema NPS asume que para la misma entrada una función escalar siempre devuelve la misma salida. En este caso, la función escalar sólo puede invocarse una vez para una entrada constante en lugar de una vez por fila de entrada. Por ejemplo:
--nondet - --nullcall
- Anula el comportamiento predeterminado de llamada NULL, permitiendo que una función escalar que recibe toda la entrada NULL devuelva una salida no NULL. Por defecto, el sistema NPS asume que para cualquier entrada NULL una función escalar siempre devuelve una salida NULL y por lo tanto no invoca la función escalar. Por ejemplo:
--nullcall