Advertisement

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)

还没有任何评论哟~