Spark pagerank
程序员文章站
2022-06-23 16:06:00
算法的流程:
Spark pagerank。初始化:我们用pages(pairRDD)来记录每个页面和其相关联的页面之间的关系,用ranks(pairRDD)来记录每个页面初始化...
算法的流程:
Spark pagerank。初始化:我们用pages(pairRDD)来记录每个页面和其相关联的页面之间的关系,用ranks(pairRDD)来记录每个页面初始化的rank,初始值为1.0 在每次迭代的过程中,对页面p,我们向其每个相邻的页面,发送一个至为rank(p)/numNeighbors(p)的贡献值 将每个页面收到的contributions相加得到contributionsReceived 将每个页面的排序值设置为0.15 +0.85 * contributionsReceived 算法的实现:
Spark pagerank。初始化:我们用pages(pairRDD)来记录每个页面和其相关联的页面之间的关系,用ranks(pairRDD)来记录每个页面初始化的rank,初始值为1.0 在每次迭代的过程中,对页面p,我们向其每个相邻的页面,发送一个至为rank(p)/numNeighbors(p)的贡献值 将每个页面收到的contributions相加得到contributionsReceived 将每个页面的排序值设置为0.15 +0.85 * contributionsReceived 算法的实现:
public static JavaPairRDD> run_page(){ JavaPairRDD> res = sc.textFile( "/home/liang/workspace/learnSpark/pagerank.txt" ).mapToPair(new PairFunction>() { @Override public Tuple2> call(String s) throws Exception { String key = s.split(" ")[0]; String values = s.split(" ")[1]; ArrayList values_integer = new ArrayList(); for(String str : values.split(",")){ values_integer.add(Integer.parseInt(str)); } return new Tuple2>(Integer.parseInt(key), values_integer); } }); return res; } public static JavaPairRDD run_rank(){ JavaPairRDD res = sc.textFile( "/home/liang/workspace/learnSpark/pagerank.txt" ).mapToPair( line->new Tuple2(Integer.parseInt(line.split("")[0]),1.0) ); return res; }
public static JavaPairRDD> run_page(){ JavaPairRDD> res = sc.textFile( "/home/liang/workspace/learnSpark/pagerank.txt" ).mapToPair(new PairFunction>() { @Override public Tuple2> call(String s) throws Exception { String key = s.split(" ")[0]; String values = s.split(" ")[1]; ArrayList values_integer = new ArrayList(); for(String str : values.split(",")){ values_integer.add(Integer.parseInt(str)); } return new Tuple2>(Integer.parseInt(key), values_integer); } }); return res; } public static JavaPairRDD run_rank(){ JavaPairRDD res = sc.textFile( "/home/liang/workspace/learnSpark/pagerank.txt" ).mapToPair( line->new Tuple2(Integer.parseInt(line.split("")[0]),1.0) ); return res; }
推荐阅读
-
spark dataframe 将一列展开,把该列所有值都变成新列的方法
-
CarbonData 大数据交互式分析实践(spark summit)
-
spark平台基本组成(spark安装详细教程)
-
spark 安装教程(spark环境搭建及配置)
-
hadoop搭建步骤(spark和hadoop的区别)
-
spark-windows(含eclipse配置)下本地开发环境搭建
-
Spark异常:A master URL must be set in your configuration处理记录
-
spark读取hdfs文件规则(spark处理超大文件方法)
-
Spark RDD API详解之:Map和Reduce
-
spark平台基本组成(spark安装详细教程)