Spark Graphx怎么求社交网络中的最大年纪追求者
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容介绍了"Spark Graphx怎么求社交网络中的最大年纪追求者"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2025年12月03日Spark Graphx怎么求社交网络中的最大年纪追求者
本篇内容介绍了"Spark Graphx怎么求社交网络中的最大年纪追求者"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Spark Graphx提供了mapReduceTriplets来对图进行聚合计算,但是1.2以后不再推荐使用,源代码如下:
@deprecated("use aggregateMessages", "1.2.0")def mapReduceTriplets[A: ClassTag]( mapFunc: EdgeTriplet[VD, ED] => Iterator[(VertexId, A)], reduceFunc: (A, A) => A, activeSetOpt: Option[(VertexRDD[_], EdgeDirection)] = None) : VertexRDD[A]* Aggregates values from the neighboring edges and vertices of each vertex. The user supplied* `mapFunc` function is invoked on each edge of the graph, generating 0 or more "messages" to be* "sent" to either vertex in the edge. The `reduceFunc` is then used to combine the output of* the map phase destined to each vertex.** This function is deprecated in 1.2.0 because of SPARK-3936. *
推荐使用的是aggregateMessages:
def aggregateMessages[A: ClassTag]( sendMsg: EdgeContext[VD, ED, A] => Unit, mergeMsg: (A, A) => A, tripletFields: TripletFields = TripletFields.All) : VertexRDD[A] = { aggregateMessagesWithActiveSet(sendMsg, mergeMsg, tripletFields, None)}并举了一个简单的例子:
* vertex* {{{* val rawGraph: Graph[_, _] = Graph.textFile("twittergraph")* val inDeg: RDD[(VertexId, Int)] =* rawGraph.aggregateMessages[Int](ctx => ctx.sendToDst(1), _ + _)* }}}可以看见能够进行消息传递和聚合操作。
案例实战:求社交网络中的年纪最大的追求者和追求者的平均年龄:
val oldestFollower: VertexRDD[(String,Int)]=userGraph.aggregateMessages[(String, Int)]( triplet => { triplet.sendToDst(triplet.srcAttr.name, triplet.srcAttr.age) }, (a, b) => if (a._2 > b._2) a else b )oldestFollower.collect.foreach(println(_))averageAge: VertexRDD[] = userGraph.aggregateMessages[()]( triplet => { triplet.sendToDst(triplet.srcAttr.age) }(ab) => ((a._1 + b._1)(a._2 + b._2))).mapValues((idp) => p._2 / p._1)averageAge.collect().foreach((_))很好很强大啊!
结果如下:
聚合操作
**********************************************************
找出年纪最大的追求者:
(4,(Bob,27))
(1,(David,42))
(6,(Charlie,65))
(2,(Charlie,65))
(3,(Ed,55))
**********************************************************
找出追求者的平均年纪:
(4,27.0)
(1,34.5)
(6,60.0)
(2,60.0)
(3,55.0)
**********************************************************
"Spark Graphx怎么求社交网络中的最大年纪追求者"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
追求者
年纪
最大
社交
网络
内容
更多
案例
知识
推荐
实用
强大
学有所成
接下来
例子
困境
实战
实际
年龄
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大学生勤工俭学软件开发
网络安全卫生教育
公安网络技术侦查条件
超级人类韩服服务器
数据库脱库技术
兽药精确质量数据库
软件开发设计理解
多媒体业务软件开发
澳洲457签证 软件开发
世界上收录全文最多的数据库
鲲鹏服务器安装系统
博时数据库怎么查询
金蝶k3系统怎么导数据库
我的世界服务器怎么获得32k武器
db2是公司的数据库产品
点触科技软件开发面试
全关通查询数据库
虹口图腾网络服务器机柜哪家好
怀旧服祈福服务器什么时候开始
网络安全知识手抄报及内容
计算机网络技术招聘信息
贵州安全服务网络安全
中国网络安全大赛英文缩写
中小网络安全教育平台
中小学教育家庭与网络安全视频
企业服务器虚拟化安装步骤
绘画软件开发团队
系统网络安全应注意的事项
更新一下服务器
网络安全书签制作4年级