Çok büyük bir CSV dosyasına (1 GB +) sahibim, 100.000 satıra sahip.Bir CSV dosyasını birden çok parçaya bölme ve bu kodları Java kodunda paralel olarak okuma
Gönderilecek bir HTTP isteği için bir gövde oluşturmak üzere CSV dosyasındaki her satırı ayrıştırmak için bir Java programı yazmalıyım. Başka bir deyişle, CSV dosyasındaki satırlara karşılık gelen 100.000 HTTP isteği göndermem gerekir. Bunları tek bir iş parçacığında yaparsam çok uzun olacak.
Yapmak için 1.000 iş parçacığı oluşturmak istiyorum i) CSV dosyasından bir satır okuyun, ii) gövdesi, okuma satırının içeriğini içeren bir HTTP isteği oluşturun ve iii) HTTP isteğini göndererek yanıt alın.
Bu şekilde, CSV dosyasını 1.000 parçaya bölmem gerekir ve bu parçaların birbiriyle çakışmamış satırları olmamalıdır.
Böyle bir ayrıştırma işleminin en iyi yolu nedir?
* Çok büyük bir CSV dosyasına (1GB +) sahibim, günümüzde bilgisayarlar için 100.000 satırlık bir * var, bu hiç de büyük değil. CPU'lardan çok daha fazla iş parçacığına sahip olmak, tüm CPU'ları doyurabilmeniz bir hatadır. Sonunda IO departmanında bağlı olacak, bir sunucuya eşzamanlı eşzamanlı talepler göndermek, DoS'u kasten denemeden çok da mantıklı değil. – bestsss