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

温馨提示

本公众号专注分享大数据技术Spark、Hadoop等,如果你是初学者、或者是自学者,这里都是可以提供免费资料,也可以加小编微信号:wusc35,小编可以给你学习上、工作上一些建议以及可以给你提供免费的学习资料!学习技术更重要的是在于学习交流!等你来…

注:本公众号纯属个人公益号!免费分享所有学习资料!希望朋友多多支持!多多关注!

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

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

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

1、客户端:

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

2、读取数据:

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

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

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的运行原理底层拿出来讲解、对于有基础的朋友是很乐意也比较容易接受吸收。但是对于新人不然,希望理解,通过这Spark基础的数据流程运行原理就能很容易理解一个Spark的job任务大致的过程。

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

希望对你我他有用

有不足之处请多多指教

欢迎留言评论!!!

欢迎关注微信公众号【大数据之谜】获得本次分享资料

回复信息:spark资料

可获取第一套Spark基础详解视频教程

回复信息:sparkR

可获取第二套Spark全面讲解的视频教程

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

    原文作者:大数据之谜
    原文地址: https://www.jianshu.com/p/526f1f4e6a31
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞