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的程序不能独立进行