1.4.5 图计算框架

更新于 2026年10月10日 版权声明
1.4.5 图计算框架

社交网络、Web链接关系图等都包含大量具有复杂关系的图数据,这些图数据规模很大,常常达到数十亿的顶点和上万亿的边数。这样大的数据规模和非常复杂的数据关系,给图数据的存储管理和计算分析带来了很大的技术难题。用MapReduce计算模式处理这种具有复杂数据关系的图数据通常不能适应,为此,需要引入图计算框架。

大规模图数据处理首先要解决数据的存储管理问题,通常大规模图数据也需要使用分布式存储方式。但是,由于图数据具有很强的数据关系,分布式存储就带来了一个重要的图划分问题(GraphPartitioning)。根据图数据问题本身的特点,图划分可以使用“边切分”和“顶点切分”两种方式。在有效的图划分策略下,大规模图数据得以分布存储在不同节点上,并在每个节点上对本地子图进行并行化处理。与任务并行和数据并行的概念类似,由于图数据并行处理的特殊性,人们提出了一个新的“图并行”的概念。事实上,图并行是数据并行的一个特殊形式,需要针对图数据处理的特征考虑一些特殊的数据组织模型和计算方法。

目前已经出现了很多分布式图计算系统,其中较为典型的系统包括Google公司的Pregel、Facebook对Pregel的开源实现Giraph、微软公司的Trinity、Spark下的GraphX、CMU的GraphLab以及由其衍生出来的高速图数据处理系统PowerGraph等。

除了上面介绍的几种大数据计算框架,还有一些还不太热门但具有重要潜力的计算框架,如交互式分析框架和增量计算框架。其中,交互式分析框架中的交互式查询为数据分析人员提供更便利的计算分析模式,这几年交互式分析技术发展迅速,目前这一领域知名的平台有十余个,包括Google开发的Dremel和PowerDrill,Facebook开发的Presto,Hadoop服务商Cloudera和HortonWorks分别开发的Impala和Stinger,以及Apache项目Hive、Drill、Tajo、Kylin、MRQL等。(https://www.daowen.com)

此外,增量计算框架只对部分新增数据进行计算,从而极大地提升计算过程的效率,可应用到数据增量或周期性更新的场合。其典型支撑平台包括Google Percolator、Microsoft Kineograph、阿里Galaxy等。图1⁃8为典型大数据计算框架全景图。

图示

图1⁃8 大数据计算框架全景图

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)