HDFSの既存のファイルにデータを追加するのに問題があります。ファイルが存在する場合は行を追加し、存在しない場合は指定された名前で新しいファイルを作成する必要があります。
HDFSに書き込む方法は次のとおりです。
if (!file.exists(path)){
file.createNewFile(path);
}
FSDataOutputStream fileOutputStream = file.append(path);
BufferedWriter br = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
br.append("Content: " + content + "\n");
br.close();
実際、このメソッドはHDFSに書き込み、ファイルを作成しますが、先ほど述べたように、追加はしません。
これは私の方法をテストする方法です:
RunTimeCalculationHdfsWrite.hdfsWriteFile("RunTimeParserLoaderMapperTest2", "Error message test 2.2", context, null);
最初のパラメーターはファイルの名前、2番目はメッセージ、その他の2つのパラメーターは重要ではありません。
だから誰かが私が見逃していることや間違っていることを知っていますか?
HDFSはappend
操作を許可しません。追加と同じ機能を実装する1つの方法は次のとおりです。