大数据之谜Spark基础篇,Spark基本工作原理讲解

本文从宏观角度介绍了Spark的基本工作原理,包括客户端提交程序、数据读取、Spark分布式集群的迭代式内存计算以及结果数据的输出方式。通过对Spark运行流程的解析,帮助读者理解Spark在处理数据时的各个阶段,为后续深入学习RDD打下基础。
摘要由CSDN通过智能技术生成

 Spark基本工作原理,这里我们从宏观讲解Spark的基本工作原理,帮助你全面了解布局,站在一个高度去理解每个算子任务的操作原理,才能有效的把握变化中的状态,通过实际原理图来说明,来理解程序入口的客户端、集群处理流程、读取数据的来源、最终计算结果何去何从等问题。



分析:根据上原理图我们可以从四个部分来理解

1、客户端:

    客户端也就是专业们常说的Client端,这里的是表示我们在本地编写Spark程序,然后必须找一个能够连接Spark集群,并提交程序进行运行的机器。

2、读取数据:

    在准备运行Spark程序的同时,是不是也要有数据来源进行处理的呢,这里我们介绍几种常见的读取数据来源,是Hadoop集群中的HDFS、Hive也有可能是搭建在集群上的HBase;还有MySQL等DB数据库;或者是在程序中我们设置的集合数据。


3、Spark分布式集群:

    Spark集群是一种分布式计算、是一种迭代式计算、是一种基于内存计算。

分布式计算,这是Spark最基本的特征,计算时候数据会分布存放到各个集群节点,来并行分布式计算。如图的第一个操作map,是对于节点1、2、3上面的数据进行map算子操作,处理后的数据可能会转移到其他节点的内存中,这里假设到了4、5、6节点,处理后的数据有可能多或是变少,这个需要看我们具体的处理方式。第二个操作reduce,是将map处理后的数据再次进行处理。

    这也就得到Spark是一种迭代式计算模型,一次计算逻辑中可以分为N个阶段,上一个阶段结果数据成为了下一个阶段的输入数据,这样就不只是想mapreduce计算一样了,只有两个阶段map和reduce,就结束一个job的运行,必须得落地到HDFS。而Spark在各个阶段计算转换中一直保持基于内存迭代式计算,所以Spark相对于MapReduce来说计算模型可以提供更加强大的计算逻辑功能。

4、结果数据输出:

    这里我们介绍几种输出方式,基于Hadoop的HDFS、Hive或是HBase;MySQL等DB数据;或是直接输出返回给客户端。


    上述的运行情况、读取数据或是数据输出等各种方式后续都会进行详细的讲解,学习需要循序渐进,理解每一层次的技术点。如果我们一次就直接把Spark的运行原理底层拿出来讲解、对于有基础的朋友是很乐意也比较容易接受吸收。但是对于新人不然,希望理解,通过这Spark基础的数据流程运行原理就能很容易理解一个Spark的job任务大致的过程。

    Spark是基于RDD计算的模型框架,下一节我们将对RDD进一步的讲解,了解Spark最为核心的模型。

希望对你我他有用

有不足之处请多多指教

欢迎留言评论!!!

欢迎关注【大数据之谜】

一起学习交流技术

原创声明,转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值