İki büyük csv dosyasını karşılaştırma ve karşılaştırma sonucunu yeni bir dosyaya yazma görevim var. Dosya 1 200k satır ve dosya 2 de 200K veya daha az olabilir. Her ikisinde de 200 sütun var. Dosyalar sıralanmaz ve herhangi bir sırada olabilir. Ben 4.Yaylı Batch kullanarak iki büyük sıralanmamış CSV dosyası nasıl karşılaştırılır?
, ben ItemReader ve ItemWriter özelleştirilmiş bu kullanarak Bahar Toplu elde edebilirsiniz ya da ben bir kullanmalısınız herhangi bir yolu Projemde Bahar Toplu kullanıyorum
orada Soru Java 8 ve Bahar Sürüm kullanıyorum dosyaları karşılaştırmak için görev ve sonra basit Java kodu? Bunu en hızlı şekilde yapmak istedim. Verilerin hacmi gerçekten büyük olacak 2-4 Gigs olabilir, bu yüzden belleğe yüklemek istemiyorum. Dosya yapıları aşağıdaki gibi bir şeydir.
File1:
regn_nbr, ad, address1, countrycode, regn_date
2345, John 4332 JFK Bulvarı, ABD, 02-12-2011
2347, mark, 4332 Maryland Avenue ABD, 04-27-2015
2348, Smith 4332 JFK yol, ABD, 07-30-2011
2302, Andy 4332 JFK şeritli, ABD, 06-01-2010
File2:
regn_nbr, ad, address1, countrycode, regn_date
2345, John 4332 JFK Bulvarı, ABD, 02-12-2011
2302, Andy 4332 JFK şeritli, ABD,
2911 06-01-2010, Peter, 12 mum sürücü, MX, 01-01-2010
2348, Smith 4332 JFK yol, ABD, 07-30-2011
2347, mark, 4332 Maryland Avenue ABD, 04-27-2015
Önerileriniz, farklı yaklaşımlarınız, stratejileriniz ve uzmanlığınız sizi bekliyor.
Spring Batch kesinlikle bunun için yanlış bir seçim. Bu, toplu işlem için kullanılırken, sorununuz, verileri işlemeden önce en azından ayırmayı gerektirir. – Kayaman
@Kayaman. cevabın için teşekkürler. Evet, bir toplu işlem uygulamasıdır ve FTP, veri tabanları ve çeşitli kaynaklar ve çok sayıda iş işleme üzerinde katları çoğaltma gibi birçok aşamadan geçtik.Verileri farklı kaynaklardan topladık ve bu dosyaları oluşturduk. Şimdi karşılaştırma aşamasındayız. Bu yüzden planım, dosyaları hem eksik kayıt anahtarını dosyalara sıralamak hem de değeri karşılaştırmak için işlemciye iletmektir. Sıralama yapmadan bilmek sadece bu karşılaştırmayı yapabilir mi? – Kenneth
Peki bu şekilde bakın. İlk satırı ilk dosyadan ve ikinci dosyadan ilk satırı alırsınız. İkinci dosyadaki satır, ilk dosyadaki satıra karşılık gelmez. Daha sonra, satırın var olup olmadığını, yoksa silinmişse ve gerçekten yığın işlemede çalışmadığını (yani verimli olamayacağını) görmek için tüm ikinci dosyadan geçmeniz gerekir. Bir çeşit ön işlem yapmadan bunu yapmanın hiçbir yolu yoktur. Hepsini bir veritabanına yapıştırırım. – Kayaman