foreach和foreachPartition的区别

foreach和foreachPartition的区别
一,基本使用
1,RDD分布式数据集的五大特性
       1),A list of partitions(一系列的分区)
       2),A function for computing eachsplit(计算每个分片的方法)
       3),A list of dependencies on otherRDDs(一系列的依赖RDD)
       4),Optionally, a Partitioner forkey-value RDDs (e.g. to say that the RDD is hash-partitioned)
(可选,对于key-value类型的RDD都会有一个分区器)
       5),Optionally, a list of preferredlocations to compute each split on (e.g. block locations for an HDFS file)(可选,最佳位置)
2,RDD的操作类型:
       Transformations:转换操作,lazy型,不会触发计算
       Action:触发job
       Persist:缓存,也不会触发job,在第一次触发job之后才会真正进行缓存。
3,RDD的计算
  RDD的计算实际上我们可以分为两个大部分:
      1),Driver端的计算
     主要是stage划分,task的封装,task调度执行
  2),Executor端的计算
       真正的计算开始,默认情况下每个cpu运行一个task。一个task实际上就是一个分区,我们的方法无论是转换算子里封装的,还是action算子里封装的都是此时在一个task里面计算一个分区的数据。
   下面就那这两个例子,开始讲解吧,针对转换类型的操作可以类比查看。
[Scala] 纯文本查看 复制代码
?
01
02
03
04
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值