博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GraphX的三大图算法
阅读量:5976 次
发布时间:2019-06-20

本文共 1946 字,大约阅读时间需要 6 分钟。

1. PageRank

 

2. Connected Components

 

3. Triangle Counting

 

例子:

users.txt

1,BarackObama,Barack Obama2,ladygaga,Goddess of Love3,jeresig,John Resig4,justinbieber,Justin Bieber6,matei_zaharia,Matei Zaharia7,odersky,Martin Odersky8,anonsys

followers.txt

2 14 11 26 37 37 66 73 7

算法实战:

package main.scalaimport org.apache.spark.graphx.GraphLoaderimport org.apache.spark.{SparkConf, SparkContext}object graphx_algorism {  System.setProperty("hadoop.home.dir","E:/zhuangji/winutil/")  def main(args:Array[String]):Unit={    val conf=new SparkConf().setMaster("local[2]").setAppName("graph_algorism").set("spark.cores.max","10") //set spark.cores.max 可以设置核数    val sc=new SparkContext(conf)    // graph初始化,从文件中读    val graph=GraphLoader.edgeListFile(sc,"E:/Java_WS/ScalaDemo/data/followers.txt")    val users=sc.textFile("E:/Java_WS/ScalaDemo/data/users.txt").map{      line=>val fields=line.split(",")        (fields(0).toLong,fields(1))    }        // 1.    //PageRank    val ranks=graph.pageRank(0.001).vertices  // 0.001 是PageRank 的参数,尚未知道是什么意思    ranks.collect.foreach(println)    val ranksByUsername=users.join(ranks).map{      case(id,(username,rank))=>(username,rank)    }    println(ranksByUsername.collect().mkString("\n"))        //2.    // Connected Components: LianTongTi    val cc=graph.connectedComponents().vertices    println(cc.collect)    val ccByUsername=users.join(cc).map{      case(id,(username,cc))=>(username,cc)    }    println(ccByUsername.collect().mkString("\n"))        //3.    //Triangle Count    val graphT=GraphLoader.edgeListFile(sc,"E:/Java_WS/ScalaDemo/data/followers.txt",true).partitionBy(PartitionStrategy.RandomVertexCut)    val triCounts=graphT.triangleCount().vertices    val triCountByUsername=users.join(triCounts).map{case(id,(username,tc))=>(username,tc)}    println(triCountByUsername.collect().mkString("\n"))}

  

 

posted on
2016-09-28 16:35 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/skyEva/p/5916931.html

你可能感兴趣的文章
hive 创建/删除/截断 表(翻译自Hive wiki)
查看>>
INDEX_JOIN
查看>>
工具-实用工具
查看>>
(笔记)Linux内核学习(五)之中断推后处理机制
查看>>
Spring中AOP的两种代理方式(Java动态代理和CGLIB代理)
查看>>
git 简单图表
查看>>
【POJ】1742 coins 【背包问题】
查看>>
URAL 1009. K-based Numbers
查看>>
详解 Windows下apache 实现 SSL
查看>>
MusicXML 3.0 (15) - 倚音
查看>>
14 款免费漂亮的 BuddyPress 主题
查看>>
总结Movies MVC3教程示例的知识点
查看>>
设置c#windows服务描述及允许服务与桌面交互的几种方法
查看>>
[转载]浅析jQuery框架与构造对象
查看>>
职场宝典:63种能力让你职场步步高升
查看>>
索引,表增删改统计,加锁查具体情况(推荐)
查看>>
获得AP发票状态
查看>>
Linux获取毫秒级时间
查看>>
C# 设置Menustrip提示框的显示
查看>>
Linux下常用软件
查看>>