2017-03-01 70 views
0

我有2個輸入文件,分別是File1和File2。 File1包含記錄的一部分,並將記錄的其餘部分傳播到File2,以便創建一個需要同時讀取File1和File2的記錄。每條記錄的唯一鍵將在記錄前的File1和File2中。您可以請幫助如何使用Spring-batch閱讀器實現此功能。如何在Spring批處理中同時讀取2個文件

+0

能否請您解釋一下更好的這句話「每個記錄的唯一關鍵是有沒有記錄之前的文件1和文件2」 –

+0

要識別記錄跨區切換到文件2每條記錄有唯一鍵這將有在File1中的每個記錄和File2。示例:File1中的ABCD123XXXXXXXX File2中的ABCD123YYYYYYYYYYYY ABCD123是用於標識兩個文件中的記錄的唯一鍵 –

+0

您可能會考慮shelllet tasklet通過鍵執行文件合併作爲第一步(如http://stackoverflow.com/questions/中所示) 15242791/merge-files-with-bash-by-primary-key),然後用SB對其進行處理 –

回答

1

最簡單的解決方案是將每個文件加載到關係數據庫中的臨時表中。然後只需將兩個臨時表連接在一起即可插入到最終表格中。

+0

謝謝Dean的快速回復,除Staging table解決方案之外是否還有其他任何解決方案。 –

+0

沒有人會推薦。您可以按商業密鑰對每個文件進行排序,然後橫向瀏覽每個文件,但這不是一個乾淨的解決方案。或者,您可以嘗試使用shell腳本加入文件,但我個人會避免在多個應用程序之間拆分解決方案。 –

相關問題