35GBのCSV
ファイルがあります。各行を読み取り、条件に一致する場合はその行を新しいCSVに書き出します。
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");
});
}
}
これには約かかります。7分。そのプロセスをさらにスピードアップすることは可能ですか?
parallel
すると速くなりますか?そして、それは周りの行をシャッフルしませんか?