Spark之RDD简易版总结

1.RDD创建有哪几种方法?

通过并行化集合的方式(本地集合转分布式集合)

或者读取数据的方式创建(TextFile\WholeTextFile)

2.RDD分区数如何查看?

通过getNumPartitions API 查看,返回值int

3.Transformation和Action的区别?

转换算子的返回值100%是RDD,而Action算子的返回值100%不是RDD

转换算子是懒加载的,只有遇到Action才会执行。

ACTION就是转换算子处理链条的开关。

4.哪两个Action算子的结果不经过Driver,直接输出?

foreach和saveASTextFile直接由Executor执行后输出

不会将结果发送到Driver

5.redueByKey和groupByKey的区别?

redueByKey自带聚合逻辑,groupByKey不带

如果做数据聚合redueByKey的效率更好,因为可以先聚合后shuffle再最终聚合,传输的IO更小

6.mapPartitions 和 foreachPartitions 的区别?

mapPartitions带有返回值

foreachPartitions不带

7.对于分区操作有什么要注意的地方?

尽量不要增加分区,可能破坏内存迭代的计算管道。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值