zoukankan      html  css  js  c++  java
  • hadoop之输入输出格式

    <STRONG>jobConf.setInputFormat(MyInputFormat. class );
    InputFormat:</STRONG>
    TextInputFormat:用于读取纯文本文件,文件被分为一系列以LF或CR结束的行,key是每一行的偏移量(LongWritable),value是每一行的内容(Text)。
    KeyValueTextInputFormat:用于读取文件,如果行被分隔符分割为两部分,第一部分为key,剩下的为value;若没有分隔符,整行作为key,value为空。
    SequenceFileInputFormat:用于读取SequenceFile,读取格式要与写出SequenceFileOutputFormat时设置的setOutputKeyClass与setOutputValueClass一致(key+value的格式)。
    SequenceFileInputFilter:根据filter从SequenceFile中取得满足条件的数据,通过setFilterClass指定Filter,内置了三种Filter,RegexFilter取key值满足指定的正则表达式的记录;PercentFilter通过指定参数f,取记录行数f%==0的记录;MD5Filter通过指定参数f,取MD5(key)%f==0的记录。
    例子:conf.setInputFormat(KeyValueTextInputFormat.class); 
     
     
    <STRONG>jobConf.setOutputFormat(MyOutputFormat. class )
    setOutputFormat:</STRONG>
    TextOutputFormat:输出到纯文本文件,格式为key + “    ”+ value。
    NullOutputFormat:hadoop中的/dev/null,将输出送进黑洞。
    SequenceFileOutputFormat,输出SequenceFile文件,其具体格式与setOutputKeyClass,setOutputValueClass相关 ,如此SequenceFileInputFormat的读取格式应该与SequenceFileOutputFormat的输出格式一致(key+value的格式)
    MultipleSequenceFileOutputFormat, MultipleTextOutputFormat:根据key将记录输出到不同的文件,可以被重写 
    DBInputFormatDBOutputFormat,从DB读取,输出到DB。
    例子:conf.setOutputFormat(TextOutputFormat.class);

    (转载)

    InputSplit决定了每个Mapper要处理的数据集;
     
    而InputFormat则决定了每一个Split里面的数据格式/数据结构;详见(http://book.douban.com/annotation/17068812/)
  • 相关阅读:
    数据库 | 建表常用语句
    心得 | 撰写项目申报书
    工具 | 时间转化
    SpringBoot | 启动异常 | 显示bulid success 无 error信息
    120. 三角形最小路径和
    63. 不同路径 II
    SpringBoot | Velocity template
    SpringBoot | quartz | @DisallowConcurrentExecution
    SpringBoot | Hibernate @Transient 注解
    Java | 基础归纳 | 静态方法与实例方法的区别
  • 原文地址:https://www.cnblogs.com/xuepei/p/3613027.html
Copyright © 2011-2022 走看看