Spark Graphx 进行社区检测(community detection)
发布时间
阅读量:
阅读量
近期在尝试使用Spark Graphx的过程中,进行了一些相关的实验。对于大规模图结构而言,常见的分析方式包括连通图的挖掘以及团伙识别等。在金融科技行业,尤其是在风险控制领域,存在诸多关键的关联网络,并且这些网络规模通常非常庞大。因此,基于分布式计算架构的Spark Graphx特别适用于此类应用场景。以下将以设备之间的关联网络(节点数量达到数亿级别)为例,借助Graphx实现一个设备团伙识别的演示案例。该团伙识别所采用的算法为Graphx内置的LabelPropagation算法。
以下为Graphx示例代码(仅为演示用途):
输入文件格式如下:
A B weight
说明:A和B表示设备ID(字符串类型),weight代表关联权重(整型数值)
由于Graphx中节点类型仅支持Long类型,不兼容String类型,因此需要进行相应的数据转换操作。此处通过广播变量实现ID映射功能。
相关代码示例可参考如下GitHub链接: https://github.com/dylan-fan/spark_graphx_community_detection
package com.org.test
import org.apache.spark.SparkConf
import org.apache.spark.SparkCo
全部评论 (0)
还没有任何评论哟~
