浅谈Spark算子-创新互联
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作业。
例如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
1.2 Action
Action是得到一个值,或者一个结果。计算只有在action被提交的时候才被触发。
欢迎关注个人微信公众号:大数据and机器学习(CLbigdata)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:浅谈Spark算子-创新互联
文章链接:http://azwzsj.com/article/csijeg.html