大数据之谜Spark基础篇,Spark基本工作原理讲解
【大数据之谜Spark基础篇,Spark基本工作原理讲解】温馨提示
本公众号专注分享大数据技术Spark、Hadoop等,如果你是初学者、或者是自学者,这里都是可以提供免费资料,也可以加小编微信号:wusc35,小编可以给你学习上、工作上一些建议以及可以给你提供免费的学习资料!学习技术更重要的是在于学习交流!等你来...
注:本公众号纯属个人公益号!免费分享所有学习资料!希望朋友多多支持!多多关注!
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最为核心的模型。
希望对你我他有用
有不足之处请多多指教
欢迎留言评论!!!
欢迎关注微信公众号【大数据之谜】获得本次分享资料
回复信息:spark资料
可获取第一套Spark基础详解视频教程
回复信息:sparkR
可获取第二套Spark全面讲解的视频教程
文章图片
文章图片
推荐阅读
- 我要做大厨
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 知识
- 三十年后的广场舞大爷
- 奔向你的城市
- 村里的故事|村里的故事 --赵大头
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 汇讲-勇于突破