https://turi.com/

GraphLab和MapReduce的区别

https://baike.baidu.com/item/GraphLab/16423125

  1. 2. GraphLab和MapReduce的区别
 
GraphLab 的出现不是对MapReduce 算法的替代,相反,GraphLab 借鉴了MapReduce 的思想,将MapReduce 并行计算模型推广到了对数据重叠性、数据依赖性和迭代型算法适用的领域。本质上,GraphLab 填补了高度抽象的MapReduce 并行计算模型和底层消息传递、多线程模型(如MPI 和PThread)之间的空隙。
当前流行的并行计算框架MapReduce 将并行计算过程抽象为两个基本操作,即map 操作和reduce 操作,在map 阶段将作业分为相互独立的任务在集群上进行并行处理,在reduce 阶段将map 的输出结果进行合并得到最终的输出结果。GraphLab 模拟了MapReduce 中的抽象过程。对MapReduce 的map 操作,通过称为更新函数(Update Function)的过程进行模拟,更新函数能够读取和修改用户定义的图结构数据集。用户提供的数据图代表了程序在内存中和图的顶点、边相关联的内存状态,更新函数能够递归地触发更新操作,从而使更新操作作用在其他图节点上进行动态的迭代式计算。GraphLab 提供了强大的控制原语,以保证更新函数的执行顺序。GraphLab 对MapReduce 的reduce 操作也通过称为同步操作(Sync Operation)的过程进行模拟。同步操作能够在后台计算任务进行的过程中执行合并(Reductions),和GraphLab 提供的更新函数一样,同步操作能够同时并行处理多条记录,这也保证了同步操作能够在大规模独立环境下运行。

GraphLab GraphLab和MapReduce的区别的更多相关文章

  1. Spark 与 MapReduce的区别

    学习参考自 http://spark-internals.books.yourtion.com/markdown/4-shuffleDetails.html 1.  Shuffle read 边 fe ...

  2. spark与mapreduce的区别

    spark是通过借鉴Hadoop mapreduce发展而来,继承了其分布式并行计算的优点,并改进了mapreduce明显的缺陷,具体表现在以下几方面: 1.spark把中间计算结果存放在内存中,减少 ...

  3. spark和mapreduce的区别

    spark和mapreduced 的区别map的时候处理的时候要落地磁盘 每一步都会落地磁盘 reduced端去拉去的话 基于磁盘的迭代spark是直接再内存中进行处理 dag 执行引擎是一个job的 ...

  4. 开源图计算框架GraphLab介绍

    GraphLab介绍 GraphLab 是由CMU(卡内基梅隆大学)的Select 实验室在2010 年提出的一个基于图像处理模型的开源图计算框架.框架使用C++语言开发实现. 该框架是面向机器学习( ...

  5. GraphLab介绍[转]

    GraphLab介绍 原文链接:http://blog.jasonding.top/2015/06/08/Machine%20Learning/%E5%BC%80%E6%BA%90%E5%9B%BE% ...

  6. 用Map-Reduce的思维处理数据

    在很多人的眼里,Map-Reduce等于Hadoop,没有Hadoop谈Map-Reduce犹如自上谈兵,实则不然,Map-Reduce是一种计算模型,只是非常适合在并行的环境下运行,Hadoop是M ...

  7. YARN应用程序开发流程(类似于MapReduce On Yarn)本内容版权归(小象学院所有)

    MapReduce On Yarn和MapReduce程序区别 MapReduce On Yarn(由专业人员开发)1 为MapReduce作业运行在YARN上提供一个通用的运行时环境2 需要与Yar ...

  8. 为什么要使用Spark?

    现有的hadoop生态系统中存在的问题 1)使用mapreduce进行批量离线分析: 2)使用hive进行历史数据的分析: 3)使用hbase进行实时数据的查询: 4)使用storm进行实时的流处理: ...

  9. HIve体系结构,hive的安装和mysql的安装,以及hive的一些简单使用

    Hive体系结构: 是建立在hadoop之上的数据仓库基础架构. 和数据库相似,只不过数据库侧重于一些事务性的一些操作,比如修改,删除,查询,在数据库这块发生的比较多.数据仓库主要侧重于查询.对于相同 ...

随机推荐

  1. 8 -- 深入使用Spring -- 1...1Bean后处理器

    8.1.1 Bean后处理器(BeanPostProcessor) Bean后处理器主要负责对容器中其他Bean执行后处理,例如为容器中的目标Bean生成代理等. Bean后处理器会在Bean实例创建 ...

  2. Weblogic集群部署

    有些事情不去尝试,注定是失败,如果预知90%的失败仍然去尝试了,那也会从中学到很多,何况仅靠那10%的可能性也会成功 weblogic安装后 1.打开Configuration Wizard 2.创建 ...

  3. Flash XSS 漏洞实例

    www.bsdxm.com/zeroclipboard/ZeroClipboard.swf?id=\"))}catch(e){alert(/xss/);}//&width=500&a ...

  4. Django SimpleCMDB WSGI

    一.WSGI 介绍 (1) 在前面的学习中,我们是通过 python manage.py runserver 0.0.0.0:8000 来启动并访问开发服务器的:(2) 但在实际中我们是通过直接访问 ...

  5. commons-beanutils的使用

    commons-beanutils是通过内省来完成的. 需要两个包: commons-beanutils-1.8.3.jar commons-logging-1.1.1.jar JavaBean类: ...

  6. 如何在 Ubuntu 中安装 Node.js

    在终端中执行以下命令: sudo apt-get install python-software-properties python g++ make sudo add-apt-repository ...

  7. mysql学习笔记(三)

    -- 主键冲突(duplicate key) ,'xujian','anhui'); ,'xiewei','anhui'); ,'luyang','anhui');-- 主键冲突了 -- 可以选择性的 ...

  8. 《转载》为什么我要在2018年学习Python?

    本文转载自36kr 从网页编程到时髦的人工智能,机器学习,这个享有"瑞士军刀(万能工具)"盛誉的Python语言, 你学会了吗? 编者注: 根据维基百科的解释,"Pyth ...

  9. spring配置文件中xsd引用问题

    XML的一些概念 首先来看下xml的一些概念: xml的schema里有namespace,可以给它起个别名.比如常见的spring的namespace:   xmlns:mvc="http ...

  10. linux下删除大量小文件

    当目录下文件太多时,用rm删除文件会报错:-bash: /bin/rm: Argument list too long提示文件数目太多.解决的办法是使用如下命令:ls | xargs -n 10 rm ...