Spark的执行原理浅析

Spark是什么呢?

   Spark是一款为快速处理大数据通用计算引擎;负责读取数据,完成分布式计算;弥补了Hadoop的在分布式运算慢的缺点;Hadoop的缺陷:无论是Mapreduce或YARN都是先从磁盘中加载数据到内存,当进行运算时,又需要将数据加载到hdfs的临时文件,这样多的步骤导致Hadoop在运算中表现的有点慢,因此Spark应运而生。

spark的优点:

1.内存分布式计算:运行数度快;

2.可以使用不同的语言编程<JAVA, PYTHON...>;

    3.可以从不同的数据源获取数据<HDFS, HBASE…>;

    4. 实现不同的大数据功能:Spark Core,Sparc SQL …

值得注意的是,Spark可以独立于Hadoop,但是目前还不能完全取代Hadoop,Hadoop依然很重要; 

SparkContext:负责申请资源<CPU, 内存>

ClusterManager:  类似于Hadoop 的ResourceManager负责管理分配任务的所有资源;

Worker Node : 任务节点,属于ClusterManager的直接下属;

Executor: 负责准备好Task执行环境和执行Task;

Task: 具体任务;

Driver:管理Task的产生并将要求发送给Exceutor;

整个流程:

1 甲方来了个项目,创建了SparkContext,SparkContext去找ClusterManager申请资源同时给出报价,需要多少CPU和内存等资源。ClusterManager去找WorkerNode并启动Excutor,并介绍Excutor给Driver认识。

2 Driver根据施工图拆分一批批的Task,将Task送给Executor去执行。

3 Executor接收到Task后准备Task运行时依赖并执行,并将执行结果返回给Driver

4 Driver会根据返回回来的Task状态不断的指挥下一步工作,直到所有Task执行结束。

参考:https://blog.csdn.net/yejingtao703/article/details/79438572


各位看客,如果发现有何描述不准确的,定要指出哦,相互学习,个人博客https://www.onexing.cn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AM...
    大佛爱读书阅读 2,991评论 0 20
  • 1.1、 分配更多资源 1.1.1、分配哪些资源? Executor的数量 每个Executor所能分配的CPU数...
    miss幸运阅读 3,286评论 3 15
  • 1、 性能调优 1.1、 分配更多资源 1.1.1、分配哪些资源? Executor的数量 每个Executor所...
    Frank_8942阅读 4,870评论 2 36
  • spark-submit的时候如何引入外部jar包 在通过spark-submit提交任务时,可以通过添加配置参数...
    博弈史密斯阅读 3,074评论 1 14
  • Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校...
    达微阅读 668评论 0 0

友情链接更多精彩内容