学spark的一些基本概念逻辑

    初学者接触到大数据、spark一些概念,就是这些字认识,但不知道啥意思,无法做到用一个比喻来理解;然后在大框架不了解的基础上,就过于钻到语法细节里面去了,都知道这样不太好,但是最开始确实做不到能有个深入浅出的见解来;而且这种浅出的见解,一般的书籍或是百度都还没有,只能是自己日积月累之后,突然有天有那么点意思了,虽然不能作为正解,但帮助自己理清关系没那么迷茫还是有用的。

1、课程推荐

b站上尚硅谷的spark课程,老师结合者画图和铺垫讲解,确实清晰,一遍不行,过段时间再来一遍。

2、spark、集群、软件、硬件

老在说spark,spark到底是个啥,看得见摸得着吗,,是软件是硬件,跟Hadoop啥关系/p>

机房:里面有很多台服务器,就是电脑吧,这是硬件;

spark/hadoop:一种使这些零零散散的电脑能够联合起来做事情的管理机制,是软件,经过它们管理,机房就认为是集群了,有点公司管理和个人员工的意思。

3、spark的一些概念

spark运行环境:local、standalone、yarn

spark运行架构:driver、excutor、master、worker、applicationMaster

spark RDD:spark三大数据结构之一

数据结构:数据组织方式

关系:举个通俗的例子,要盖一座楼或者桥,运行环境指的是投入的人力物力资源,国家级桥梁或建筑当然就投入的多,小地方的建设可能就投入的少;运行架构指的是干的方式,例如承保+外包的方式,有个主承保商,他可能不自己做而是分配给很多外包商;程序和RDD指的是活儿和设计方案,这个程序要干的活儿就是盖桥梁或者房子,一个程序是一组RDD有机有序的组织起来,先打地基、再有地面、再有墙体、再有窗子、再有房顶等等。

4、RDD 和map,list,array这些类型的关系/span>

RDD是spark的最小计算单元;

map,list,array 这些仅是数据的组织形式,

RDD[String],RDD[map(String,Int)],则是封装了数据的组织形式+计算逻辑+分区

分区是为了并行,进而实现分布式计算

5、RDD与装饰者设计模式

Java IO采用的就是装饰者设计模式,就是层层封装,字节流–缓冲流–字符流–行读取,有点延迟执行的意思;

RDD也是装饰者设计模式,一个RDD经过transform算子的层层封装,遇到action算子才把之前的封装都执行了。

以上,对spark及其机制,有个粗浅概念了。

来源:月笼纱lhz

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月2日
下一篇 2021年8月2日

相关推荐