人工智能时代前沿技术社区

首页 > 人工智能 > 热点

你不能不知道的最流行的图计算框架

GraphX是一个使用非常广泛的图计算库,而在GraphX之前,也有许多的图计算库,比如Pregel、Giraph、GraphLab等,他们有着共同的特点:定义了独特的图计算API,简化图算法的实现;充分利用图数据结构特点加速计算,比通用的 数据驱动的计算引擎更快。但随着需求的变化,这些图计算库逐渐被淘汰了,这是为什么呢?

作者:谭盼雨 | 2017-10-13 16:55:16 | 来源:飞马网

在继上次在飞马网直播中出现了有关图数据的演讲---“你听过大数据分析,那你听过图数据分析吗?”后,不少小伙伴们对图数据、图计算这些概念颇为感兴趣。2017年10月12日晚,飞马网邀请了业内知名大数据及人工智能专家董西成,在线直播演讲最流行的图计算框架Graphx及企业级应用案例。

1.png

董西成,美国某著名视频公司任资深研发经理,从事AI及大数据平台相关的研发工作;作为一名资深大数据技术实践者和研究者,曾参与商用Hadoop原型研发,以及分布式日志系统、全网图片搜索 引擎、Hadoop调度器等项目的设计与研发,Spark平台优化等;拥有超过7年的大数据平台研发经验。

无处不在的图数据

董老师表示,图数据存在于我们生活的方方面面,如果将数据相关方分别定位为一个点,而他们之间的互相联系抽象为边,那整个不同事物时间的错综复杂的联系就构成了一幅幅“图数据”。为了更加方便地给我们解释图数据,董老师举了以下例子:

社交关系数据:将每个人作为一个点,而人与人之间的互动关系是边,那么庞大的社交圈子中,不同人之间的互动联系就构成了庞大的社交关系数据。

网页链接数据:通过一个网页链接,可以跳转到其他多个网页,这么一来,网页与网页之间的多个跳转联系就构成了一个复杂的网页链接数据。通过这些数据可以进行多个研究,比如可以分析出来哪个网页是入口大的重要网页等。

另外,董老师还给我们举了其他例子,比如可以通过交易网络数据图来分析出哪些交易是欺诈交易、通过通信网络数据图来分析企业员工之间不正常的社交、通过用户---商品图数据图来分析用户需求,做个性化推进等。

常见的图算法

PageRank

PageRank源自搜索引擎,它是搜索引擎里面非常重要的图算法,可用来对网页做排序。比如我们在网页里搜索hadoop,会出来非常多有着hadoop关键字的网页,可能有上千上万个相关网页,而PageRank可以根据这些网页的排序算法将其排序,将一些用户最需要的网页进行优先展示。

2.png

最短路径

在社交网络里面,有一个六度空间的理论,表示你和任何一个陌生人之间所间隔的人不会超过五个,也就是说,最多通过五个中间人你就能够认识任何一个陌生人。这也是图算法的一种,也就是说,任何两个人之间的最短路径都是小于等于6。

3.png

社群发现

用来发现社交网络中三角形的个数(圈子),可以分析出哪些圈子更稳固,关系更紧密。用来衡量社群耦合关系的紧密程度。董老师告诉我们,一个人的社交圈子里面,三角形个数越多,说明他的社交关系越稳固、紧密。像Facebook、Twitter等社交网站,常用到的的社交分析算法就是社群发现。

4.png

推荐算法(ALS)

ALS是一个矩阵分解算法,比如购物网站要给用户进行商品推荐一些推荐,就需要知道哪些用户对哪些商品感兴趣,这时,可以通过ALS构建一个矩阵图,在这个矩阵图里,假如被用户购买过的商品是1,没有被用户购买过的是0,这时我们需要计算的就是有哪些0有可能会变成1 。

5.png

6.png

GraphX图计算框架

GraphX是一个使用非常广泛的图计算库,而在GraphX之前,也有许多的图计算库,比如Pregel、Giraph、GraphLab等,他们有着共同的特点:定义了独特的图计算API,简化图算法的实现;充分利用图数据结构特点加速计算,比通用的 数据驱动的计算引擎更快。但随着需求的变化,这些图计算库逐渐被淘汰了,这是为什么呢?

观察进现代图计算整个流程,我们发现,现代图计算整个流程里面,涉及了两部分的计算:一是结构化数据的计算和提取,二是图数据计算与分析。为了完成机构化数据和图数据的处理,在GraphX出席之前,我们是用HadoopSpark这种通用的计算引擎来解决,后半部分是用专门的图计算引擎Pregel来处理,这就需要同时维护、学习两套计算引擎,比较麻烦。

也许会有同学说,那就用两套系统,只要解决问题,但你有所不知的是,同时混用多个引擎会出现非常多的问题,如成本高,效率低下,数据冗余等问题,这样会使整个计算过程变得复杂。

而GraphX就解决了这一问题!作为统一的图计算引擎,GraphX可以实现在一个数据流水线中,使用一种技术解决图 计算相关所有问题!

GraphX包含两大特色:

New API:打破了结构化数据和图数据的界限。

New Library:直接在Spark上完成图计算。因此,董老师告诉我们,如果你已经学习了Spark,那么你再学习GraphX,将会非常地快速与高效。

7.png

8.png

9.png

10.png

最后,董老师以阿里的反作弊系统为例,为我们介绍了GraphX的具体应用。比如通过挖掘资金流的行为来识别一些异常交易或者洗钱,盗号, 套现等高危行为。通过挖掘交易和物流环节的关联性来识别一些虚假运单和空包 等作弊行为等。