zoukankan      html  css  js  c++  java
  • Mapreduce的api编程

    KEYIN:输入的KEY是maptask所读取到的一行文本的起始偏移量,long
    VALUEIN:输入的VALUE的类型,输入的VALUE是maptask所读取到的一行文本内容,String
    KEYOUT:我们在本逻辑中输出单词做key,String
    VALUEOUT:我们在本逻辑中输出1作value,Integer   

    但是,在mapreduce中,maptask输出的key,value需要经过网络传给reducetask,所以,这些key对象,value对象,都要可以被序列化和反序列化,虽然Long、String等JDK中的数据类型都实现了serializable接口,可以被序列化,但是Serializable序列化机制产生的序列化数据相当臃肿,会大大降低网络传输的效率,所以Hadoop专门设计了一套序列化机制,接口为Writable,那么maptask输出给reducetask的key-value都必须实现Writable接口

    Long  --> LongWritable

    String --> Text

    Integer --> IntWritable

    Double --> DoubleWritable

    .......

    在客户端的程序中可以设置reducetask 的运行实例数量

    job.setNumReduceTasks(2);//默认是1

  • 相关阅读:
    ovs流表机制(四)用vxlan实现多个节点的vm通信(二)
    expect
    在Scrapy中使用Selenium
    Python网络编程
    Scrapy持久化存储
    Scrapy基础
    Selenium实例
    XML和XPATH
    猫眼电影爬取
    Request模块
  • 原文地址:https://www.cnblogs.com/beiyi888/p/10028868.html
Copyright © 2011-2022 走看看