1. 设计思路
a) MapReduce 执行迭代计算过程中会反复读写 HDFS,因此可以在 HDFS 中观察到每一轮迭代的输出结果。 b) MapReduce 会提交一系列的作业,而 spark 仅有一个应用,在 Yarn 的 UI 显示会不一样。 c) 对于同样规模的数据集,spark 执行时间应当更短。
2. 实验设置
1)Ubuntu18.04、jdk1.8、云主机、IDEA2020.3.4 2) Hadoop2.10.1、Spark2.4.7、Scala2.11.12 3) 数据集:web-google.txt;因为数据集太大了,换成了 mini-web-google.txt,一共有十个结点,并做了一些改动 page.txt 4) 迭代次数:20 5) 阻尼系数:0.85
3.实验过程
1、编写一个 PageRank 应用,观察 HDFS 中的文件。 2、分别基于 MapReduce 和 Spark 编写一个 PageRank 应用,并通过 Yarn 进行提交,观察 Yarn 界面的区别。 3、针对改进的 min-web-google 数据集,分别在 MapReduce 和 Spark 中运行,统计二者的运行时间,并绘制成图表。
4.代码
1、MapReduce PageRankMapper.java
package
|