Spark的函数式编程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark的函数式编程相关的知识,希望对你有一定的参考价值。

Spark是近年来发展较快的分布式并行数据处理框架,了解和掌握spark对于学习大数据有着至关重要的意义。但是spark依赖于函数单元,它的函数编程过程是怎样的呢?我们怎么来应用呢?

一、Spark的函数式编程

Spark依赖于函数单元,函数是其编程的基本单元,只有输入输出,没有state和side effect。它的关键概念就是把函数作为其他函数的输入,不过在使用函数的过程中 使用的都是匿名函数,因为这个函数只是满足当下计算,因此不需要固化下来进行其它应用。

  • 把函数作为参数传递

很多RDD操作把函数作为参数传递,这里我们看一下RDD map操作伪代码,把函数fn应用到RDD的每条记录。但这并不是它执行的一个真正的代码,只是通过这个代码去看一下它处理的逻辑。

技术分享

示例:传递命名的函数

技术分享

  • 匿名函数

匿名函数是没有标识符的嵌入式定义的函数,最适合于临时一次性的函数。在很多编程语言中支持,比如:

(1)Python:lambda x

(2)Scala:x =>

(3)Java 8:x ->

示例:传递匿名函数

(1)Python

技术分享

(2)Scala

技术分享

  • 示例:Java

(1)Python

技术分享

(2)Scala

技术分享

Spark作为当下大数据中重要的子目,必须深度掌握学习。但是大数据还在起步发展,并没有形成完整成熟的理论系统,需要我们多方位,多渠道的挖掘学习。这里推荐“大数据cn”微信公众平台,里面介绍了很多大数据的相关知识,很不错的!


本文出自 “11872756” 博客,请务必保留此出处http://11882756.blog.51cto.com/11872756/1893173

以上是关于Spark的函数式编程的主要内容,如果未能解决你的问题,请参考以下文章

Scala函数式编程彻底精通

Spark采用Scala,是因为Scala支持函数式编程吗?

重学scala:scala函数式编程与高阶函数

2021年大数据常用语言Scala(二十):函数式编程 介绍

机器学习实战[53]---新的思维方式:函数式编程

Scala函数式编程进阶