[HADOOP] HDFS에 쓰기 : 파일을 덮어 씁니다.
HADOOPHDFS에 쓰기 : 파일을 덮어 씁니다.
나는 hadoop 파일 시스템에 쓰고있다. 하지만 내가 추가 할 때마다 기존 데이터 / 파일에 데이터를 추가하는 대신 데이터를 덮어 씁니다. 이 작업을 수행하는 코드는 다음과 같습니다. 이 코드는 여러 데이터에 대해 반복해서 호출됩니다. 문제가 발생할 때마다 새로운 SequenceFile.Writer를 여는 중입니까?
경로를 새 경로 ( "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();
}
해결법
-
==============================
1.현재 API를 통해 기존 SequenceFile에 추가 할 수있는 방법이 없습니다. 새 SequenceFile.Writer 객체를 만들면 해당 Path의 기존 파일에 추가되지 않고 대신 덮어 씁니다. 내 이전 질문을 참조하십시오.
현재 API를 통해 기존 SequenceFile에 추가 할 수있는 방법이 없습니다. 새 SequenceFile.Writer 객체를 만들면 해당 Path의 기존 파일에 추가되지 않고 대신 덮어 씁니다. 내 이전 질문을 참조하십시오.
Thomas가 지적한 것처럼 동일한 SequenceFile.Writer 객체를 유지하면 close ()를 호출 할 때까지 파일에 추가 할 수 있습니다.
from https://stackoverflow.com/questions/7962802/writing-to-hdfs-file-is-overwritten by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 2.5.1 나머지 API로 mapreduce 작업을 어떻게 수행 할 수 있습니까? (0) | 2019.08.02 |
---|---|
[HADOOP] ArrayList 요소에 반복 가능 (0) | 2019.08.02 |
[HADOOP] pydoop 대 hadoopy - hadoop 파이썬 클라이언트 [닫기] (0) | 2019.08.02 |
[HADOOP] Hadoop 웹 사용자 : 해당 사용자 없음 (0) | 2019.08.02 |
[HADOOP] 파일 이름의 재발없이 hadoop 역 색인 (0) | 2019.08.02 |