개발바닥

데이터 타입 본문

Hadoop

데이터 타입

라이언 2018. 10. 2. 03:14
반응형

WritableComparable 인터페이스를 구현한 Wrapper 클래스 목록

클래스명 

데이터 타입 

BooleanWritable

 Boolean

ByteWritable

단일 Byte 

DoubleWritable 

Double 

FloatWritable 

Float 

IntWritable 

Int 

LongWritable 

Long 

TextWritable 

UTF-8 형식의 문자열 

NullWritable 

데이터 값이 필요없을 경우 사용 

 

InputForamt (입력 포맷) 클래스란?

입력 파일을 어떻게 해석하는가를 결정한다. 입력 파일을 몇 개의 논리적인 InputSplit로 나눌지 결정하고 하나의 InputSplit에서 RecordReader 객체에 레코드 별로 키와 값으로 읽어드린다.

 

잡 클래스의 setInputFormatClass 메서드로 다양한 입력 포맷 클래스를 설정할 수 있다.

 

InputFormat 

기능 

 TextInputFormat

텍스트 파일을 분석할 때 사용

키는 라인번호(LongWritable 타입), 값은 라인내용 (Text 타입) 

 KeyValueTextInputFormat

 텍스트 파일을 입력 파일로 사용할 때 라인번호가 아닌 임의의 키 값을 지정해서 키와 값의 목록으로 읽음. 키와 값은 모두 Text 타입

 NLineInputFormat

 맵 태스크가 입력 받은 텍스트 파일의 라인 수를 제한하고 싶을 때 사용

 DelegatingInputFormat

여러 개의 서로 다른 입력 포맷을 사용하는 경우에 각 경로에 대한 작업을 위임 

 CombineFileInputFormat

 여러 개의 파일을 스플릿으로 묶어서 이용(다른 InputFormat은 파일당 스플릿을 생성)

 SequenceFileInputFormat

 시퀀스 파일(바이너리 형태의 키와 값의 목록으로 구성된 텍스트 파일)을 입력 데이터로 쓸 때 사용

 SequenceFileAsBinaryInputFormat

 시퀀스 파일의 키와 값을 임의의 바이너리 객체로 변환해서 사용

 SequenceFileAsTextInputFormat

 시퀀스 파일의 키와 값을 Text 객체로 변환해서 사용

 

OutputFormat (출력 포맷) 클래스란?

잡(Job)이 출력물(보통은 리듀스의 출력 레코드들)이 어떤 포맷으로 저장되는지를 결정한다. 잡 클래스의 setOutputFormatClass 메서드로 다양한 출력 포맷 클래스로 설정할 수 있다.

 

OutputFormat 

기능 

 TextOutputFormat

텍스트 파일을 생성하고 출력 레코드 하나가 한 라인이 됨.

한 라인에서 키와 값의 구분자는 TAB 문자. 

 SequenceFileOutputFormat

 시퀀스 파일을 출력물로 쓸 때 사용

 SequenceFileAsBinaryOutputFormat

 위에 있는 것을 상속받아 구현되었음. 바이너리 포맷의 키와 값을 SequenceFile 컨테이너에 쓴다.

 FilterOutputFormat

 OutputFormat 클래스를 편리하게 사용할 수 있는 메서드 제공

(OutputFormat 클래스의 Wrapper 클래스)

 LazyOutputFormat

 FileOutputFormat을 상속받은 클래스는 출력할 내용이 없을 때도 part-nnnnn을 생성한다. 이 포맷을 사용하면 첫 번째 레코드가 해당 파티션(part-nnnnn)으로 보내질 때만 출력 파일을 생성하낟.

 NullOutputFormat

 출력 데이터가 없을 때 사용

 

반응형

'Hadoop' 카테고리의 다른 글

Mapper 클래스의 메소드들  (0) 2018.10.06
WordCount  (0) 2018.10.06
맵과 리듀스  (0) 2018.10.06
하둡 분산 파일 시스템  (0) 2018.09.30
하둡이란?  (0) 2018.09.30
Comments