Esempio di linguaggio Java integrato
Questa sezione contiene una serie di esempi correlati che collegano tra loro diverse tecniche.
Nota: Gli esempi di compilazione e registrazione che specificano l'opzione --db presuppongono l'esistenza di un database valido chiamato "dev" sull'appliance Netezza.
Concetti
I concetti trattati in questa sezione includono:
- Combinare insieme diversi file sorgente per creare applicazioni AE più complesse e facilitare il riutilizzo del codice.
- Utilizzo dei file JAR di Java.
- Richiamare la stessa AE da diverse funzioni SQL e scegliere percorsi logici diversi in base alle variabili d'ambiente.
- Tempo di esecuzione dello streaming di output da un AE a un altro.
- Funzioni di tabella che restituiscono:
- esattamente una riga di output dopo aver letto tutte le righe di input
- una riga di uscita per ogni riga di ingresso
- più righe di uscita per riga di ingresso
- Dimostrazione dell'API di connessione AE di livello inferiore rispetto all'uso di NzaeApiGenerator.
Dati del Test
I dati della tabella sono utilizzati per tutti gli esempi di questa sezione.
/* edutestdata.sql */
DROP TABLE edutestdata;
CREATE TABLE edutestdata (
distribution_key int4,
f1 int4,
f2 int8,
f3 double,
f4 numeric(10,3),
color varchar(32)
) distribute ON (distribution_key);
INSERT INTO edutestdata VALUES(1, 1, 2, 3.0, 4.0, 'red');
INSERT INTO edutestdata VALUES(2, 100, 300, 0.5, 0.5, 'red');
INSERT INTO edutestdata VALUES(3, -100, 300, 0.5, 0.5, 'red');
INSERT INTO edutestdata VALUES(4, 100, -300, 0.5, 0.5, 'red');
INSERT INTO edutestdata VALUES(1, 1, 2, 3.0, 4.0, 'green');
INSERT INTO edutestdata VALUES(2, 100, 300, 0.5, 0.5, 'green');
INSERT INTO edutestdata VALUES(3, -100, 300, 0.5, 0.5, 'green');
INSERT INTO edutestdata VALUES(4, 100, -300, 0.5, 0.5, 'green');
INSERT INTO edutestdata VALUES(1, 1, 2, 3.0, 4.0, 'blue');
INSERT INTO edutestdata VALUES(2, 100, 300, 0.5, 0.5, 'blue');
INSERT INTO edutestdata VALUES(3, -100, 300, 0.5, 0.5, 'blue');
INSERT INTO edutestdata VALUES(4, 100, -300, 0.5, 0.5, 'blue');
INSERT INTO edutestdata VALUES(1, 1, 2, 3.0, 4.0, 'yellow');
INSERT INTO edutestdata VALUES(2, 100, 300, 0.5, 0.5, 'yellow');
INSERT INTO edutestdata VALUES(3, -100, 300, 0.5, 0.5, 'yellow');
INSERT INTO edutestdata VALUES(4, 100, -300, 0.5, 0.5, 'yellow');