35GB'lık bir dosyam var CSV
. Her satırı okumak ve bir koşulla eşleşiyorsa satırı yeni bir CSV'ye yazmak istiyorum.
try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) {
try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) {
br.lines().parallel()
.filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world
.forEach(line -> {
writer.write(line + "\n");
});
}
}
Bu yakl. 7 dakika. Bu süreci daha da hızlandırmak mümkün mü?
parallel
daha hızlı yapar? Ve bu etraftaki çizgileri karıştırmıyor mu?