Hadoop InputFormat OutputFormat
InputFormat有两个抽象方法:
getSplits createRecordReader
InputSplits 将数据按照Split进行切分,一个Split分给一个task执行。
RecordReader 在Task中将Split按照key value进行切分,每个RecordReader切分的数据都给map方法执行一遍。
RecordReader三个抽象方法:
initialize 用来seek位置等
getCurrentKey getCurrentValue map读取key value
nextKeyValue 生成key value
getProgress
close
OutputFormat RecordWriter
OutputFormat抽象方法
checkOutputSpecs
getRecordWriter
OutputCommitter做繁重的工作,如create目录,rename,close等