복붙노트

[HADOOP] 어떻게 HDFS에 빈 브로 파일의 커밋 방지하기 위해?

HADOOP

어떻게 HDFS에 빈 브로 파일의 커밋 방지하기 위해?

나는 HDFS로 브로 파일을 생성하고 데이터 파일을 추가 작업을해야합니다. 그러나 때때로이 대신이 파일이 비어인지 여부를 확인해야합니다, 나는 응용 프로그램이 파일을 플러시 종료하지 않을 경우에 추가에 대한 모든 데이터, 수 (하지만 난 thatthe 브로 스키마에 기록 될 것입니다 가정 못해 이 비어있는 경우 헤더 너무 기술적으로 빈 파일) 및 파일을 삭제합니다.

이 아 브로 + HDFS lib 디렉토리와 실현 가능성이 있습니까?

해결법

  1. ==============================

    1.작업에 대한 출력 형식을 지정할 때 LazyOutputFormat를 사용해보십시오. 그것은 출력이 존재하는 경우 출력 파일 만 생성됩니다 것을 의미 느리게 출력을 생성합니다.

    작업에 대한 출력 형식을 지정할 때 LazyOutputFormat를 사용해보십시오. 그것은 출력이 존재하는 경우 출력 파일 만 생성됩니다 것을 의미 느리게 출력을 생성합니다.

    그래서 그 대신 같은 것을 작성 :     job.setOutputFormatClass (TextOutputFormat.class);

    이 대신 같은 LazyOutputFormat을 사용할 수 있습니다 :     LazyOutputFormat.setOutputFormatClass (작업, TextOutputFormat.class);

  2. from https://stackoverflow.com/questions/26408517/how-to-prevent-committing-of-an-empty-avro-file-into-hdfs by cc-by-sa and MIT license