| 3 | | 文件: |
| | 3 | '''文件类型输入:''' |
| | 4 | |
| | 5 | TextInputFormat [[BR]] |
| | 6 | 用于读取纯文本文件,文件被分为一系列以LF或者CR结束的行,key是每一行的位置(偏移量,LongWritable类型),value是每一行的内容,Text类型。[[BR]] |
| | 7 | 这个在我们的项目中比较常用,不做说明hadoop会使用这个作为输入,只要往里面添加文件路径就可以了 |
| | 8 | {{{ |
| | 9 | FileInputFormat.addInputPath(job, path); |
| | 10 | }}} |
| | 11 | |
| | 12 | KeyValueTextInputFormat [[BR]] |
| | 13 | 同样用于读取文件,如果行被分隔符(缺省是tab)分割为两部分,第一部分为key,剩下的部分为value;如果没有分隔符,整行作为 key,value为空[[BR]] |
| | 14 | |
| | 15 | SequenceFileInputFormat (这种方式性能会比较好)[[BR]] |
| | 16 | 用于读取sequence file。 sequence file是Hadoop用于存储数据自定义格式的binary文件。[[BR]] |
| | 17 | 它有两个子类:SequenceFileAsBinaryInputFormat,将 key和value以BytesWritable的类型读出;[[BR]] |
| | 18 | SequenceFileAsTextInputFormat,将key和value以 Text的类型读出[[BR]] |
| | 19 | |
| | 20 | SequenceFileInputFilter[[BR]] |
| | 21 | 根据filter从sequence文件中取得部分满足条件的数据,通过setFilterClass指定Filter,内置了三种 Filter,RegexFilter取key值满足指定的正则表达式的记录;PercentFilter通过指定参数f,取记录行数%f==0的记录;MD5Filter通过指定参数f,取MD5(key)%f==0的记录。 |