R Funzione tabella lingue (modalità remota) 1

Concetti

In R, l'impostazione del punto di connessione viene gestita automaticamente dall'utente attraverso la funzione handleConnection(), che fa parte del pacchetto nzrserver. L'utente deve fornire solo la funzione stessa, eventualmente con il suo modellatore/dimensionatore. Pertanto, l'implementazione remota non differisce dall'equivalente locale.

Codice

Per l'implementazione di applyop in R, utilizzare lo stesso codice mostrato in R Language Scalar Function 1.

Compilazione

La fase di compilazione è identica a quella della funzione scalare 1 del linguaggio R.

Registrazione

Registrare il lanciatore e la funzione come segue:

/nz/export/ae/utilities/bin/register_ae --language r --version 3 \
     --template udtf --exe /tmp/applyop.R --sig "launch_remote_applyop(INT8)" \
     --return "TABLE(aeresult varchar(255))" --db dev --user nz \
     --remote --rname applyOpRemote --launch

/nz/export/ae/utilities/bin/register_ae --language r --version 3 \
     --template udf --exe /tmp/applyop.R --return INT4 --db dev --user nz \
     --sig "remote_applyop(VARCHAR(1), INT4, INT4)" \
     --remote --rname applyOpRemote

In esecuzione

Per eseguire il R AE remoto, avviare il processo remoto come segue:

SELECT * FROM TABLE WITH FINAL(launch_remote_applyop(0));
                                          AERESULT
---------------------------------------------------------------------------------
-----------------
 tran: 21764 session: 16231 data slc: 0 hardware: 0 machine: netezza process:
14611 thread: 14611
(1 row)

Iniziare quindi i calcoli come segue:

SELECT remote_applyop('*', 2, 13);
 REMOTE_APPLYOP 
----------------
            26
(1 row)

Infine, interrompere il processo remoto come segue:

SELECT * FROM TABLE WITH FINAL(inza..nzaejobcontrol('stop',0,
 'applyOpRemote',false,NULL, NULL));
                               AERESULT                                | AERC | .
. .
-----------------------------------------------------------------------+------+ .
. .
 netezza 14611 (applyOpRemote dataslc:-1 sess:-1 trans:-1) AE stopped | 0 | .
. .