[Spark][Python]PageRank 程序

简介: PageRank 程序: file contents: page1 page3 page2 page1 page4 page1 page3 page1 page4 page2 page3 page4 def computeContribs(neighbors,rank):     for nei.

PageRank 程序:

file contents:

page1 page3
page2 page1
page4 page1
page3 page1
page4 page2
page3 page4


def computeContribs(neighbors,rank):
    for neighbor in neighbors: yield( neighbor, rank/len(neighbors) )

 

links = sc.textFile("tst001.txt").map(lambda line: line.split()).map(lambda pages: (pages[0],pages[1]))\
.distinct().groupByKey().persist()

ranks=links.map(lambda (page,neighbors): (page,1.0) )


In [4]: for x in range(1):
...: print "links count:"+links.count()
...: print "ranks count:" ranks.count()


In [11]: for x in range(3):
....: contribs=links.join(ranks).flatMap( lambda (page,(neighbors,rank)): computeContribs(neighbors,rank) )
....: ranks=contribs.reduceByKey(lambda v1,v2: v1+v2).map(lambda (page,contrib): (page,contrib*0.85+0.15))
....:


for rank in ranks.collect(): print rank

(u'page2', 0.394375)
(u'page3', 1.2619062499999998)
(u'page4', 0.8820624999999999)
(u'page1', 1.4616562499999997)





本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/7614711.html,如需转载请自行联系原作者

目录
相关文章
|
28天前
|
存储 Python
Python实战项目(十三)使用 Tkinter GUI 库构建闹钟应用程序
Python实战项目(十三)使用 Tkinter GUI 库构建闹钟应用程序
20 0
|
3天前
|
Python
Python 闹钟程序
Python 闹钟程序
7 2
|
4天前
|
安全 Java 开发者
Python多线程编程实战:提高程序执行效率的策略
Python多线程编程实战:提高程序执行效率的策略
|
4天前
|
Python
使用PyInstaller将Python应用程序打包成EXE文件
使用PyInstaller将Python应用程序打包成EXE文件
|
9天前
|
异构计算 Python
Python web 应用程序的命令
这是一行用于运行一个 Python web 应用程序的命令,其中包含了许多参数,用于控制程序的行为。下面是对这行命令的详细解释: - python web_demo.py: 这是运行一个名为 web_demo.py 的 Python 脚本的命令。这个脚本可能是一个简单的 Web 应用程序,用于展示如何使用 Python 进行 Web 开发。
220 57
|
23天前
|
缓存 负载均衡 应用服务中间件
构建高性能的Python Web应用程序的关键技术
本文将探讨构建高性能的Python Web应用程序的关键技术。我们将介绍Python的优势以及如何利用一些重要的技术和工具来提升Web应用程序的性能和效率,包括异步编程、缓存策略、性能调优和负载均衡等。
|
27天前
|
Java C++ Python
C/C++每日一练(20230422) 存在重复元素、组合总和、给表达式添加运算符
C/C++每日一练(20230422) 存在重复元素、组合总和、给表达式添加运算符
23 0
C/C++每日一练(20230422) 存在重复元素、组合总和、给表达式添加运算符
|
28天前
|
程序员 索引 Python
探索Python异常:让程序不再崩溃!
探索Python异常:让程序不再崩溃!
|
28天前
|
API 索引 Python
Python 教程之 Django(13)使用 Django 的天气应用程序
Python 教程之 Django(13)使用 Django 的天气应用程序
22 0
Python 教程之 Django(13)使用 Django 的天气应用程序
|
28天前
|
API Python
Python 教程之 Django(12)新闻应用程序
Python 教程之 Django(12)新闻应用程序
12 1
Python 教程之 Django(12)新闻应用程序