zoukankan      html  css  js  c++  java
  • 学习一

    PageRank 网页之间有联系,有相互引用关系,在百度搜索时候网页出现先后顺序,引用关系的越多越重要 对于数据量特别大的计算需要PageRank,采用mapreduce的计算模型。把一个大的数据量拆分成小的数据量。

    拆分的过程叫map

    把小部分汇总起来叫reduce

    Mapreduce由map和reduce两个小部分组成。写程序写两个类,分别实现map和reduce;

    2.Mapreduce的编程模型:

    对于一台计算机无法完成的任务进行拆分(Map),每台计算机计算小任务,最后将任务进行汇总,的到最后的结果(Reduce)。Map reduce job三个类

    (1)       Map的输出是reduce的输入

    (2)       Map的输入是HDFS,输出到HDFS

    (3)       过程有两次输入两次输出,都是(key,value)

    <key1,value1>是map的输入

    <key2,value2>是map的输出

    <key3,value3>是reduce的输入

    Value3的数据类型和value2一样,value3是一个集合,value3的每个元素是value2

    <key4,value4>是reduce的输出

    (4)       一个任务:job=map+reduce

    (5)       <key,value>都是Hadoop自己的数据类型

    String->text int->IntWritable

    Null->NullWritable

    Double->doubleWritable

    所有的Hadoop数据类型必须实现Hadoop的序列化(实现接口Writable)

    (6)       如果一个类实现Writablle的接口,他的对象就可以作为输入和输出

    一个mapreduce的程序不能独立进行

  • 相关阅读:
    scrum
    control.begininvoke
    ChangeBrowsePosition Method
    常见linux命令(表格分类)
    Python 之优先级排序
    Python 之分辨双胞胎:copy(浅拷贝)与 deepcopy(深拷贝)
    字符编码学习总结
    Python 多继承方式及顺序
    AttributeError: module 'datetime' has no attribute 'now' ------解决方法之一
    Python 模块定义、导入、优化详解
  • 原文地址:https://www.cnblogs.com/zhang12345/p/12507901.html
Copyright © 2011-2022 走看看