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任务。

    参考资料:

    八斗大数据

  • 相关阅读:
    笨办法学习python之hashmap
    python实现三级菜单源代码
    ql的python学习之路-day3
    ql的python学习之路-day2
    Spring的数据库开发
    Spring学习之Aspectj开发实现AOP
    spring学习之依赖注入DI与控制反转IOC
    spring学习之第一个spring程序
    spring学习之spring入门
    Java线程(一)——创建线程的两种方法
  • 原文地址:https://www.cnblogs.com/xumaomao/p/12669671.html
Copyright © 2011-2022 走看看