zoukankan      html  css  js  c++  java
  • Spark 和 Hadoop 作业之间的区别

    Hadoop中:

    – 一个MapReduce程序就是一个job,而一个job里面可以有一个或多个Task,Task又可以区分为Map Task和Reduce Task

    – MapReduce中的每个Task分别在自己的进程中运行,当该Task运行完时,进程也就结束

    Hadoop中的MapReduce采用了多进程的的运行方式,因为独享进程空间,所以方便控制资源,但是消耗更多的启动时间,导致MapReduce时效性差,不适合运行那些低延时作业。

    Spark中:

    – Application:基于Spark的用户程序,包含了一个Driver Program 和集群中多个的Executor(job);

    – Job:和MR中Job不一样。MR中Job主要是Map或者Reduce Job。而Spark的Job其实很好区别,一个action算子就算一个 Job,比方说count,first等

    – Stage:是spark中独有的。一般而言一个Job会切换成一定数量 的stage。各个stage之间按照顺序执行

    – task:任务最小的工作单元

     Spark中的同个节点中的所有任务运行在同一个进程中(Executor),任务启动速度快,由于共享内存空间,减少了和磁盘间的IO操作,适合低延迟、内存密集型任务。同样的由于同个节点中的所有任务运行在同一个进程中,可能会出现资源竞争,且线程之间相互影响导致Spark任务稳定性步入hadoop任务。

    参考资料:

    八斗大数据

  • 相关阅读:
    jQuery proxy详解
    LESSCSS
    JavaScript语法支持严格模式:"use strict"
    C++ 使用cl命令编辑时发生的问题收录
    attachEvent和addEventListener
    Alert方法重写
    广播信道的数据链路层
    js prototype之诡异
    前端开发易忘内容收录
    数据链路层-点对点协议PPP
  • 原文地址:https://www.cnblogs.com/xumaomao/p/12669671.html
Copyright © 2011-2022 走看看