PDA

View Full Version : Kettle table input con parametri



relisys
06-05-2012, 12:05 PM
Salve a tutti,
sto utilizzando pentaho da poco per il mio lavoro di tesi.
Ho spulciato il wiki ma non ho trovato una risposta al mio problema.
Devo eseguire una trasformazione, il mio primo step è quello di prelevare dei dati da un db oracle tramite il passo Table Input.
Voglio parametrizzare la query del table input, nello specifico devo parametrizzare un campo id e un campo data.

Ho trovato soluzioni che implicano il passaggio del parametro da uno step precedente, ma non fanno al caso mio.

Vi ringrazio.

mcalcagni@csait.eu
06-05-2012, 04:12 PM
Ciao ,

io uso comandi da shell schedulati in cui passo dei parametri.
in ogni caso credo che sia meglio strutturare le query in modo tale da non passare parametri . tipo eseguire ogni giorno e prendere le ultime due settimane.
Ciao
Marco

relisys
06-05-2012, 04:52 PM
Ciao ,

io uso comandi da shell schedulati in cui passo dei parametri.
in ogni caso credo che sia meglio strutturare le query in modo tale da non passare parametri . tipo eseguire ogni giorno e prendere le ultime due settimane.
Ciao
Marco

Ciao, intanto ti ringrazio per la risposta.
Come gestisci il parametro nella query? ad esempio

SELECT col1
FROM table1
WHERE col2 = $(nome)

e poi il comando da shell:
-file:trasformazione.ktr -param:nome='abcd'

è corretto? ti ringrazio ancora

lukolap
06-08-2012, 04:42 AM
Ciao, intanto ti ringrazio per la risposta.
Come gestisci il parametro nella query? ad esempio

SELECT col1
FROM table1
WHERE col2 = $(nome)

e poi il comando da shell:
-file:trasformazione.ktr -param:nome='abcd'

è corretto? ti ringrazio ancora

Ciao,
la sintassi corretta per richiamare una variabile è ${nome}.

Nel tuo caso, essendo il valore della variabile una stringa, devi usare gli apici:
... WHERE col2 = '${nome}'

Ricorda di aggiungere nel tab "Parameters" di "Trasformation Settings" il parametro nome.

relisys
06-08-2012, 08:47 AM
Ciao,
la sintassi corretta per richiamare una variabile è ${nome}.

Nel tuo caso, essendo il valore della variabile una stringa, devi usare gli apici:
... WHERE col2 = '${nome}'

Ricorda di aggiungere nel tab "Parameters" di "Trasformation Settings" il parametro nome.

Ti ringrazio
funziona perfettamente!