package Spark_GraphX

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.graphx._
import org.apache.spark.graphx.util.GraphGenerators /**
* 计算每一个用户的追随者数量和追随者的平均年龄
*/
object Graphx_聚合操作 {
def main(args: Array[String]): Unit = {
val conf=new SparkConf().setAppName("聚合操作").setMaster("local[2]")
val sc=new SparkContext(conf)
//随机生成具有100个顶点的图,图的结构也随机
val graph:Graph[Double,Int]=GraphGenerators.logNormalGraph(sc,numVertices =).mapVertices((id,_)=>id.toDouble)
graph.vertices.foreach(println)
graph.edges.foreach(println)
val olderFollowers:VertexRDD[(Int,Double)]=graph.aggregateMessages[(Int,Double)](
triplet=>{
if(triplet.srcAttr>triplet.dstAttr){ //如果源顶点的属性大于目的顶点的属性
triplet.sendToDst(,triplet.srcAttr) //源-->目的 发送个数1 和源顶点的属性
}
},
(a,b)=>(a._1+b._1,a._2+b._2) //累加统计结果
)
olderFollowers.values.foreach(println)
val avgAgeOfOlderFollowers:VertexRDD[Double]=olderFollowers.mapValues((id,value)=>value match {case (count,totalAge)=>totalAge/count})
println("*********************")
avgAgeOfOlderFollowers.foreach(println)
} }
(,34.0)
(,19.0)
(,52.0)
(,39.0)
(,96.0)
(,81.0)
(,4.0)
(,71.0)
(,16.0)
(,55.0)
(,82.0)
(,29.0)
(,66.0)
(,79.0)
(,28.0)
(,65.0)
(,54.0)
(,11.0)
(,40.0)
(,23.0)
(,6.0)
(,67.0)
(,8.0)
(,69.0)
(,86.0)
(,3.0)
(,58.0)
(,7.0)
(,44.0)
(,85.0)
(,88.0)
(,91.0)
(,60.0)
(,31.0)
(,26.0)
(,87.0)
(,68.0)
(,5.0)
(,2.0)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
Edge(,,)
........................... 省略
........................... 省略
(,2568.0)
(,2920.0)
(,2155.0)
(,3016.0)
(,196.0)
(,2010.0)
(,2820.0)
(,736.0)
(,2247.0)
(,1567.0)
(,675.0)
(,1329.0)
(,2422.0)
(,2713.0)
(,2699.0)
(,1415.0)
(,873.0)
(,1383.0)
(,1663.0)
(,2124.0)
(,99.0)
(,2440.0)
(,2487.0)
(,3089.0)
(,1080.0)
(,1172.0)
(,1615.0)
(,2079.0)
(,2555.0)
(,2832.0)
(,1036.0)
(,1118.0)
(,1899.0)
(,1067.0)
(,3382.0)
(,1675.0)
(,555.0)
(,667.0)
(,994.0)
(,1204.0)
(,1220.0)
(,1457.0)
(,2838.0)
(,2699.0)
(,2946.0)
(,3344.0)
(,1433.0)
(,2806.0)
(,1582.0)
(,3087.0)
(,1394.0)
(,926.0)
(,2411.0)
(,2185.0)
(,3093.0)
(,2355.0)
(,734.0)
(,930.0)
(,572.0)
(,1476.0)
(,1839.0)
(,2058.0)
(,573.0)
(,837.0)
(,2814.0)
(,3208.0)
*********************
(,57.254901960784316)
(,58.0)
(,69.3103448275862)
(,92.0)
(,84.375)
(,80.73333333333333)
(,62.76744186046512)
(,87.3)
(,83.15)
(,54.46153846153846)
(,67.21621621621621)
(,83.07692307692308)
(,67.57894736842105)
(,71.83333333333333)
(,98.0)
(,56.4)
(,56.175)
(,92.17647058823529)
(,83.0625)
(,67.825)
(,70.75)
(,92.2)
(,99.0)
(,62.56410256410256)
(,57.2037037037037)
(,83.71428571428571)
(,69.3)
(,67.42857142857143)
(,86.0)
(,97.0)
(,88.15789473684211)
(,95.28571428571429)
(,86.0)
(,85.70588235294117)
(,59.977777777777774)
(,53.07936507936508)
(,66.80952380952381)
(,60.529411764705884)
(,90.88888888888889)
(,54.36206896551724)
(,96.85714285714286)
(,94.85714285714286)
(,79.47826086956522)
(,88.25)
(,55.484848484848484)
(,75.97222222222223)
(,70.38095238095238)
(,63.86363636363637)
(,47.06349206349206)
(,88.75)
(,70.54166666666667)
(,71.09677419354838)
(,55.21875)
(,54.638297872340424)
(,92.6)
(,80.92592592592592)
(,71.36363636363636)
(,93.0)
(,77.6842105263158)
(,60.529411764705884)
(,83.7)
(,54.3728813559322)
(,76.9047619047619)
(,69.05405405405405)
(,86.33333333333333)
(,73.03846153846153)
(,55.442622950819676)
(,92.5)
(,82.83333333333333)
(,93.84615384615384)
(,61.69565217391305)
(,55.58490566037736)
(,75.42105263157895)
(,71.9090909090909)
(,74.18518518518519)
(,78.62962962962963)
(,52.0)
(,58.244897959183675)
(,71.15384615384616)
(,88.25)
(,71.9090909090909)
(,62.40384615384615)
(,97.7)
(,85.57142857142857)
(,91.58333333333333)
(,65.77142857142857)
(,96.14285714285714)
(,61.8)
(,58.84)
(,85.14285714285714)
(,87.125)
(,51.297872340425535)
(,58.35849056603774)
(,91.75)
(,95.33333333333333)
(,55.72727272727273)
(,95.5)
(,54.11538461538461)

最新文章

  1. 【BZOJ】3526: [Poi2014]Card
  2. VSFTP安装
  3. Android 中建立一个OpenGL ES的开发环境
  4. @RequestBody 的正确使用办法
  5. 将Cent0S 7的网卡名称eno16777736改为eth0
  6. Swift 简简单单实现手机九宫格手势密码解锁
  7. Android自定义控件系列之应用篇——圆形进度条
  8. [Phonegap+Sencha Touch] 移动开发24 打包wp8.1的App,执行时输入框聚焦弹出软键盘之后,界面上移而不恢复原位的解决的方法
  9. R︱shiny实现交互式界面布置与搭建(案例讲解+学习笔记)
  10. kubernetes系列09—Ingress控制器详解
  11. .NET CORE学习笔记系列(4)——ASP.NET CORE 程序启用SSL
  12. centos7 安装pgsql
  13. python黑帽子
  14. Python从菜鸟到高手(7):字符串
  15. JS 操作样式 style
  16. Oracle 异常 中文乱码
  17. curl 发送 post 请求
  18. [02] Spring主要功能模块概述
  19. can not create symbolic link HDFS解压自动配置lib报错。
  20. sql server 中进行除法运算时,如何得到结果是小数形式呢?

热门文章

  1. codeforces 407 div1 A题(Functions again)
  2. SQL SERVER占用CPU过高排查和优化
  3. 关于Windows 10 初始安装的VS2013 SSDT-BI 的BUG 问题
  4. .DS_Store的说明
  5. Leetcode 150.逆波兰表达式求值
  6. 60. Spring Boot写后感【从零开始学Spring Boot】
  7. 7-8 哈利·波特的考试(25 分)(图的最短路径Floyd算法)
  8. [cf360 div1.C]The Values You Can Make[Dp]
  9. [bzoj3196][Tyvj1730]二逼平衡树_树套树_位置线段树套非旋转Treap/树状数组套主席树/权值线段树套位置线段树
  10. Kerberos认证浅析