hadoop 파일 시스템에 쓰고 있습니다. 그러나 내가 추가 할 때마다 기존 데이터/파일에 데이터를 추가하는 대신 데이터를 덮어 씁니다. 이 작업을 수행하는 코드는 다음과 같습니다. 이 코드는 여러 데이터에 대해 반복해서 호출됩니다. 문제가 발생할 때마다 새로운 SequenceFile.Writer를 여는 중입니까?HDFS에 쓰기 : 파일을 덮어 씁니다.
내가 새 경로 ("someDir")로 경로를 가져올 때마다;
public void writeToHDFS(Path path, long uniqueId, String data){
FileSystem fs = path.getFileSystem(conf);
SequenceFile.Writer inputWriter = new SequenceFile.Writer(fs, conf,
path, LongWritable.class, MyWritable.class);
inputWriter.append(new LongWritable(uniqueId++), new MyWritable(data));
inputWriter.close();
}
레코드를 입력하고 직접 닫을 때 시퀀스 파일을 사용하는 것을 볼 수 없습니다. 파일을 열어두고 계속 추가하십시오. –