《Spark GraphX实战》是一本Spark GraphX入门书籍。前5章为基础内容,即使读者对Spark、GraphX、Scala不熟悉,也能快速上手;后5章为图计算进阶,主要是图算法和机器学习算法的相关内容。专门讲图计算的书很少,《Spark GraphX实战》在第2、3、4章介绍了图的基础知识、GraphX基础知识、GraphX内置的图算法。第6章到第10章,主要介绍了GraphX之外的图算法、机器学习、图工具、GraphX监控和优化、GraphX的能力增强等实用技能。第9章和第10章主要介绍性能调优和监控,主要面向生产环境,有不少可以借鉴的技巧。
《Spark GraphX实战》面向对图计算感兴趣的读者,旨在帮助读者掌握Spark GraphX的相关知识及其应用。
Spark GraphX是一个分布式图处理框架,Spark GraphX基于Spark平台提供对图计算和图挖掘简洁易用的而丰富多彩的接口,极大的方便了大家对分布式图处理的需求。本书作者Michael Malak曾为财富500强企业开发Spark应用,现为数据科学协会副主席。Robin East是一名国际支付领域的数据科学家,拥有15年的顾问经验,曾为各个大型机构担任大数据交付及内容智能解决方案顾问,涉及金融、医疗、政府机关、公共事业等各个领域。
Michael Malak一直从事软件开发工作,自 2013年年初以来他一直用 Spark为财富 200强的公司做开发工作,经常进行演示和分享,特别是在科罗拉多州他住的丹佛 /博尔德地区。他的个人技术博客的地址是 http://technicaltidbit.com。
Robin East在一些大型企业曾担任过 15年以上的顾问,在金融、政府、医疗保健和公共事业领域提供大数据和智能解决方案。他是 Worldpay的数据科学家,帮助公司实现把数据用于核心业务上。可以在这里看到他在 Spark、GraphX和机器学习方面的作品: https://mlspeed.wordpress.com。
图(Graph)是什么?图是由边和顶点组成的,不是由坐标轴和刻度构成的。在 Spark中是如何使用图的?这就是本书将要回答的问题。
常常说,“图可以做任何事情”,或者“有很多不同的事情可以用图来实现”。当然了,这两种说法等于什么也没说。所以在本书中我们展示了一些具体的、实际的图应用,以及探讨如何用 Spark GraphX实现这些图应用。
本书中有许多专业术语:大数据、 Hadoop、Spark、图、机器学习、 Scala和函数式编程,这些内容本书都会一一讲解。本书会涉及技术的高级部分,但不会涉及编程能力的每个方面,如 Java编程。
注意,通常用 Spark和图作为规范的通用术语,而不是 Apache Spark和 Edges
and vertices,趋势上后者已明显被取代。机器学习和图,在计算机科学中有悠久的历史,现在作为主流的大数据技术,在商业领域又引起了新的潮流。如果你在学校学习过这些技术的理论知识,那么现在准备实践一下这些技术吧。
许多我们正在或曾经工作过的公司,已经把 Spark用在生产环境中了,尽管不一定用了 GraphX。当尝试用 GraphX做一些图解决方案的原型时,会很方便。如果你已经有了一个 Spark集群或者决定用云平台上的 Spark集群(例如 Databricks或 Amazon),那么无须重新搭建一个新的特定于图计算的集群,并且你可以在 GraphX API中使用已有的 Spark技能。现在越来越多的图应用为大家所熟知,从根据 Twitter数据发掘出恐怖分子网络到根据信用卡交易数据发现欺诈行为, GraphX已成为一个快速尝试这些图算法场景的易于使用的平台。
本书有两个明确目标:一是全面覆盖 Spark GraphX的方方面面;二是以读者在前面提到的大数据和图计算方面没有任何专业知识为假定前提。写这本书最大的挑战是要有许多技术储备,特别是 Spark、Scala和图;了解大量的 GraphX API以及图的不同用法也是不小的挑战。面对这种情形,本书就需要与其他技术书籍略有不同:首先要花点时间入门,前 5章主要讲解的就是基础内容;本书还有大量有趣的实例,可以跟着一步步练习。本书中涉及的其他技术,读者需要另做学习,本书将努力做到让读者并不需要有过多背景知识和经验,就可以浅显易懂地了解图所能解决的问题。