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');