思路分析:
1.此操作需要用到两个pairRDD,第一个pairRDD,key:当前页面,value:当前页面所含链接页面的合集。
2.第二个pairRDD,key:当前页面,value:当前页面的权重
3.两个pairRDD在循环中根据key进行连接操作,计算每次循环返回后各个页面的权重值
4.根据权重值的大小可知页面的排名
开发代码:
object PageRankTest {
def main(args: Array[String]): Unit = {
// 设置日志级别
Logger.getLogger("org").setLevel(Level.WARN)
// 初始化sc对象
val conf = new SparkConf().setMaster("local[2]").setAppName("My Spark")
val sc = SparkContext.getOrCreate(conf)
// 获取程序开始时的时间
val start = System.currentTimeMillis()
// 建立模拟数据来测试
// key:当前页面
// value:链接的页面
val links = List(
(&#