学spark的一些基本概念逻辑

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

1、课程推荐

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

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

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

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

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

3、spark的一些概念

spark运行环境:local、standalone、yarn

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

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

数据结构:数据组织方式

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

4、RDD 和map,list,array这些类型的关系?

RDD是spark的最小计算单元;

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

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

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

5、RDD与装饰者设计模式

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值