spark初探

1.RDD

弹性分布式数据集,是可以分区的数据集合,每一个分区都会有一个对应的task处理计算。

2.RDD的来源

  2.1.从hadoop文件系统中加载过来,如hdfs,hive,hbase等等。

  2.2.从其他的变换中得来,比如各类RDD转换操作得到新的RDD。

3.RDD的两大类算子

  3.1.一类是transformation算子,记录RDD的变换操作,不实际执行这些变换,比如map,flatMap等等。

  3.2.另一类是action算子,会实际触发真正的运算,比如collect,reduce,saveAs....等等。

4.spark程序的提交方式

分为local,yarn-client,yarn-master。

local是以本地方式运行spark程序,本地调试会用到,实际集群中不用。

yarn-client:以提交spark程序的那台集群作为driver端。

yarn-master:根据集群情况选取其中一台作为driver端。

5.共享变量

spark实现线程之间变量的共享有两种方式,一种是累加变量,一种是广播变量。

6.持久化

为了提高程序的执行效率和RDD的重用,可以把一些需要重复使用的RDD持久化到内存中(有多种策略可以选择),当再次使用时,直接读取内存中的RDD即可。

7.内存分配

spark 内存管理把内存分为storage使用,shuffle使用,计算使用。调优的时候根据性能瓶颈会调整这三部分的内存占比。

8.shuffle混洗

这一块通常是制约spark性能最大的瓶颈,把不同分区的相同的key聚合到一起,就会产生大量的磁盘读写操作。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值