伊谢尔伦2017-04-18 10:54:01
まず複数のファイルに分割してください
2つのスレッドが同じファイルを操作することを避けるために、複数のスレッドが複数のファイルを操作します
ファイルを 1 行ずつ読み取り、新しいファイルを 1 行ずつ書き込みます
すべてのファイルを結合
1,4 Linuxコマンドを使うだけ~
怪我咯2017-04-18 10:54:01
ファイル file = 新しいファイル(ファイルパス);
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file));
BufferedReader リーダー = new BufferedReader(new InputStreamReader(fis,"utf-8"),510241024);
String line = "";
while((line = Reader.readLine()) != null){
}
迷茫2017-04-18 10:54:01
パフォーマンスを向上させるために、マッピングされた IO が必要になる場合があります。詳細については、以下を参照してください。
Java で Memory Mapped File または MappedByteBuffer を使用する理由
Java の大きなファイルの読み取りおよび書き込み操作、Java nio の MappedByteBuffer、効率的なファイル/メモリ マッピング
java.ioとjava.nioのパフォーマンスの簡単な比較
天蓬老师2017-04-18 10:54:01
単純なテキストの置換であれば、Linuxのsedコマンドを使用するだけです。
より複雑なテキスト置換の場合は、以下を参照してください:
http://stackoverflow.com/ques...
http://www.baeldung.com/java-...
怪我咯2017-04-18 10:54:01
spark分析、
lines=sc.textFile("your_file");
filterlines=lines.filter(your_filter_function)
filterlines.xxx()