簡體   English   中英

Spring Batch CSV到Mongodb-100列

[英]Spring Batch CSV to Mongodb - 100s of columns

我對Java還是很陌生,受命使用Spring Batch讀取一些文本文件。 到目前為止,在線Spring批處理資源已經幫助我達到了將我讀取,處理並將一些簡單的測試.csv文件寫入Mongo的地步。

我現在遇到的問題是,我想從中讀取的實際文件超過600列。 這意味着以目前的方式將文件讀取到Java中,我的@Document mongo模型中將需要600多個字段。

我一直在想辦法解決這個問題,首先我想也許我可以將每行讀為一個字符串,然后在處理器中處理所有內容並格式化數據,然后返回我的MongoTemplate列表但是從重寫的處理方法中返回列表是不可行的。

所以我對你們的問題是

在春季批處理中處理數百列文件的最佳方法是什么? 或者,什么是開始閱讀的最佳資源,以幫助我指出正確的方向。

謝謝!

我有一個相同的問題,我使用http://opencsv.sourceforge.net/apidocs/com/opencsv/CSVReader.html來讀取cvs。

我建議您使用Map而不是600個Java字段。 此外,600X600 Java字符串對於Java和mongo來說都不是什么大問題。

要使用mongo進行操作,請使用http://jongo.org/

如果確實需要批量處理數據。

您的批次流量應為

在這里循環:分批(例如每個循環300個)

  1. 從內存中的文件讀取300X300 Java對象(或在Map中)。

  2. 如有需要,對它們進行消毒或處理。

  3. 存儲在mongoDB中。

如果EOF,則返回。

我最終只是將每一行作為String對象讀取。 然后,在處理器中,使用定界符循環String對象,以創建我的Mongo存儲庫對象並將其存儲。 因此,我基本上是在處理器方法中進行所有編寫工作,我認為這絕對不是最佳實踐,但可以給我所需的最終結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM