2015-05-14 89 views
0

我創建了一個表,其中有一個文本輸入文件,其大小爲7.5 GB,並且有6500萬條記錄,現在我想將這些數據推送到Amazon RedShift表中。如何在talend中推送大文件數據?

但處理560萬條記錄後,它不再移動。

可能是什麼問題? tFileOutputDelimited是否有任何限制,因爲作業已經運行了3個小時。

下面是我創建的將數據推送到Redshift表的工作。

tFileInputDelimited(的.text)--- --- TMAP> tFilOutputDelimited(CSV)

|

|

tS3Put(複印輸出文件,以S3)------> tRedShiftRow(createTempTable) - > tRedShiftRow(COPY到臨時)

+0

你知道哪部分工作被卡住了嗎?它等着創建平面文件(csv)還是創建了平面文件?如果是,那麼文件已上傳到S3? ..它會很有趣,看看你的工作是什麼點卡住..因爲紅移複製到臨時表命令將是快速的,不應該卡住.. – garpitmzn

回答

0

的限制來自於TMAP組件,它不是好的選擇處理有大量的數據,對於您的情況,您必須啓用「存儲臨時數據」選項來克服Tmap的內存消耗限制。 它在Talend Help Center中有很好的描述。

+0

我不認爲tMap導致的問題,因爲沒有加入/查找按照以上設計。當我們用來連接兩個或多個表時,tMap變得昂貴,並且數據非常龐大,那麼我們最終會考慮存儲臨時數據。 – Anil

0

看起來像tFilOutputDelimited(csv)正在創建問題。任何文件在一定數量的數據後無法處理。不確定的想法。試着找出一種方法來加載只有部分父輸入文件,並提交在紅移。重複這個過程直到你的父輸入文件得到完整的處理。