Esecuzione del codice SQL
Con il pacchetto di librerie Netezza R, è possibile eseguire qualsiasi query SQL sul sistema Netezza e restituire i risultati nel client R utilizzando le funzioni 'nzQuery() e 'nzScalarQuery().
Esecuzione di query SQL
La funzione 'nzQuery() restituisce un oggetto 'data.frame con i risultati della query, mentre la funzione 'nzScalarQuery() restituisce il risultato della query forzato a un singolo valore scalare.
Gli esempi seguenti mostrano entrambe le funzioni.
t = nzQuery("SELECT * FROM _V_DUAL_DSLICE")
t
# DSID
#11
#23
#34
#4 2
t = nzScalarQuery("SELECT COUNT(*) FROM _V_DUAL_DSLICE")
t
#[1] 4Debug
Per il debug, il pacchetto Netezza R ;ibrary fornisce la funzione 'nzDebug(), che attiva o disattiva il debug, in modo che alcune funzioni disponibili nel pacchetto stampino informazioni di debug aggiuntive.
Questo esempio ripete un esempio mostrato in precedenza in questa sezione, questa volta con il debug attivato.
nzDebug(TRUE)
nzadult = nz.data.frame("adult")
#select current_schema
#SELECT CAST(COUNT(*) AS INTEGER) AS field FROM _v_obj_relation WHERE objname
= #'ADULT' AND schema ='ADMIN'
#select current_schema
#SELECT attname AS field FROM _V_RELATION_COLUMN WHERE name = 'ADULT' AND #schema
='ADMIN' ORDER BY ATTNUMDettagli
Per le funzioni di query, tutte le parti della query di input vengono concatenate con '
paste(... ,
sep="") e il risultato viene passato al sistema Netezza. La funzione 'nzDebug() imposta una variabile globale '.nzDebug con un valore uguale al valore del parametro onoff. La funzione " nzDependencies() accetta un vettore contenente i nomi dei pacchetti da controllare.nzQuery(..., as.is = TRUE)
nzScalarQuery(..., as.is = TRUE)
nzDebug(onoff = TRUE)dove:- ...
- Specifica un numero qualsiasi di parti della query passate a '
paste. - as.is
- Indica se R deve lasciare la colonna dei risultati così com'è o eseguire le conversioni predefinite di '
RODBCtype. - onoff
- Attiva (
TRUE) o disattiva (FALSE) il debug. - tipi
- Denota un vettore che contiene i nomi dei pacchetti da controllare.
Wrap di comandi SQL Netezza
Due wrapper Netezza SQL (nzsql) vengono utilizzati frequentemente. Per verificare l'esistenza di una tabella, utilizzare la funzione 'nzExistTable(). Per eliminare una tabella, utilizzare la funzione " nzDeleteTable(). Si tratta di wrapper di comandi 'nzsql o di funzioni di base.
Altri wrapper su comandi o funzioni comuni di nzsql includono:
- nzCreateView
- nzDropView
- nzJoin
- nzJoin.permanent
- nzMerge
- nzTruncateTable