2014-06-25 13 views
6

Sono un principiante di TalendETL e sto usando Talend Open Studio per Big Data versione 5.4.1. Ho sviluppato un semplice lavoro ETL Talend che raccoglie i dati da un file CSV e inserisce i dati nel mio Database Oracle locale. Di seguito è riportato come il mio pacchetto sembra:Talend Errore lavoro ETL in tOracleOutput Component

enter image description here

Il lavoro restituisce un'eccezione che ArrayIndexOutOfBounds dopo l'ultimo record del file CSV. Ma sono incerto sul motivo per cui dovrebbe restituirlo in primo luogo? Ho controllato la soluzione fornita su questo link: http://www.talendforge.org/forum/viewtopic.php?id=21644

Ma non sembra funzionare affatto. Ho il driver più recente per il componente oracle e aumentare/diminuire la dimensione del commit non sembra influenzarlo.

Qualcuno, per favore, può darmi una mano? Per favore fatemi sapere se sono necessarie ulteriori informazioni.

P.S: Il log di errore completo è qui sotto: -

Starting job Kaggle_Data_Load_Training at 09:31 25/06/2014. 

[statistics] connecting to socket on port 3957 
[statistics] connected 
Exception in component tOracleOutput_1 
java.lang.ArrayIndexOutOfBoundsException: -32203 
    at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2677) 
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9270) 
    at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:210) 
    at test.kaggle_data_load_training_0_1.Kaggle_Data_Load_Training.tFileInputDelimited_1Process(Kaggle_Data_Load_Training.java:4360) 
    at test.kaggle_data_load_training_0_1.Kaggle_Data_Load_Training.runJobInTOS(Kaggle_Data_Load_Training.java:4717) 
    at test.kaggle_data_load_training_0_1.Kaggle_Data_Load_Training.main(Kaggle_Data_Load_Training.java:4582) 
[statistics] disconnected 
Job Kaggle_Data_Load_Training ended at 09:31 25/06/2014. [exit code=1] 
+1

invece di tOracleOutput se si utilizza tFileoutputdelimited o qualsiasi altro componente di uscita DB - Non è ancora ottenere lo stesso ArrayIndexOutOfBoundsException? – garpitmzn

risposta

6

Puoi provare a diminuire la dimensione commit sul componente tOracleOutput? Ricordo che c'è una specie di bug in 5.4.1. di TOS che ha provocato questo errore. Quindi, per favore, riduci la dimensione del commit (diciamo a 500) e verifica se il problema esiste ancora. Ecco ulteriori informazioni sul bug: http://www.talendforge.org/forum/viewtopic.php?id=5931

+0

Incredibile !! Ha funzionato! Grazie mille :) – Sparky

0

Aveva stesso problema in Talend 6.2.1

Può essere risolto modificando l'aggiornamento DB Version in metadata di connessione.

Same è confermato su Talend blog

Problemi correlati