zoukankan      html  css  js  c++  java
  • MapReduce提供的输入输出格式

    输入格式   key value
    TextInputFormat 默认格式,读取文件的行 行的字节偏移量 行的内容
    KeyValueInputFormat 把行解析为键值对 第一个tab字符前的所有字符 行剩下的内容
    SequenceFileInputFormat Hadoop定义的高性能二进制格式 自定义 自定义

    说明:

    TextInputFormat:默认的输入格式,输入文件每一行作为单独的一个记录,但不做解析处理。这对那些没有被格式化的数据或是基于行的记录来说是很有用的,比如日志文件。

    KeyValueInputFormat:也是把输入文件每一行作为单独的一个记录。然而不同的是TextInputFormat把整个文件行当做值数据,KeyValueInputFormat则是通过搜寻tab字符来把行拆分为键值对。这在把一个MapReduce的作业输出作为下一个作业的输入时显得特别有用,因为默认输出格式(下面有更详细的描述)正是按KeyValueInputFormat格式输出数据。

    SequenceFileInputFormat,它会读取特殊的特定于Hadoop的二进制文件,这些文件包含了很多能让Hadoop的mapper快速读取数据的特性。Sequence文件是块压缩的并提供了对几种数据类型(不仅仅是文本类型)直接的序列化与反序列化操作。Squence文件可以作为MapReduce任务的输出数据,并且用它做一个MapReduce作业到另一个作业的中间数据是很高效的

    用法:

    job.setInputFormatClass(SequenceFileInputFormat.class);

    输出格式类似。

  • 相关阅读:
    常见的兼容问题
    css3新增伪类
    完美的js运动框架
    C++ 常用宏
    多线程代码段 自清理线程
    寒假自学(十一)
    寒假自学(十)
    寒假自学(九)
    寒假自学(八)
    寒假自学(七)
  • 原文地址:https://www.cnblogs.com/wuzhenquan/p/3618527.html
Copyright © 2011-2022 走看看