浅谈Spark算子

发布时间:2020-07-11 19:59:28 作者:半边书生123
来源:网络 阅读:2315

RDD的操作类型分为两类

Ø Transformation,根据原有的RDD创建一个新的RDD

Ø actions,对RDD操作后把结果返回给driver

  Transfrmation操作是延迟的,也就是说从一个RDD转换到另一个RDD的转换不是马上执行的,需要等到有Action操作的时候才会真正触发运算。

  Action会触发Spark提交作业,并将数据输出spark系统。

从小方向来说,Spark 算子大致可以分为以下三类:

  (1)Value数据类型的Transformation算子,这种变换并不触发提交作业,针对处理的数据项是Value型的数据。
  (2)Key-Value数据类型的Transfromation算子,这种变换并不触发提交作业,针对处理的数据项是Key-Value型的数据对。

  (3)Action算子,这类算子会触发SparkContext提交Job作业。

浅谈Spark算子      例如map是一个转换,他把RDD中的数据经过一系列的转换后转换成一个新的RDD,而reduce则是一个action,它收集RDD所有的数据经过一系列的处理,最后把结果传递给driver

  RDD的所有转换操作都是lazy模式的,即Spark不会立马计算出结果,而是记住所有对数据集的转换操作,这些转换只有遇到action的时候才会开始计算。这样的设计使得spark更加高效。例如,对一个数据做一次map操作后进行reduce操作,只有reduce的结果返回给driver,而不是把数据量更大的map操作后传递给driver。

1.1 Transformation

  transformation返回一个新的RDD方式有很多,如从数据源生成一个新的RDD,从RDD生成一个新的RDD。所有的transformation都是采用的懒策略,就是只将transformation提交是不会执行的。

   详情参考:http://spark.apache.org/docs/latest/rdd-programming-guide.html

浅谈Spark算子

1.2   Action

     Action是得到一个值,或者一个结果。计算只有在action被提交的时候才被触发。




欢迎关注个人微信公众号:大数据and机器学习(CLbigdata) 

浅谈Spark算子


推荐阅读:
  1. Spark常用的action算子
  2. Spark的transformation和action算子简介

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

算子 transformation action

上一篇:C++ 拷贝构造

下一篇:二维码生成工厂

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》