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

Posted Lansonli

tags:

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

目录

函数式编程 介绍

函数式编程的意义在哪?


函数式编程 介绍

我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程。下面的这些操作是学习的重点。

现在我们将会逐渐接触函数式编程的方式.

比如我们要说的第一个foreach方法, 就是一个典型的函数式编程方式.

我们将一个函数当做参数 传递给另一个方法/函数

start...

  • 遍历(foreach)
  • 映射(map)
  • 映射扁平化(flatmap)
  • 过滤(filter)
  • 是否存在(exists)
  • 排序(sorted、sortBy、sortWith)
  • 分组(groupBy)
  • 聚合计算(reduce)
  • 折叠(fold)

 

函数式编程的意义在哪?

函数是对象,可以作为参数传递。

函数除了是对象以为,函数也是一种逻辑的封装。

所以传递函数,本质上是传递计算逻辑

普通的编程形式,方法传递的参数是数据

但是函数式编程中,可以将函数进行传递,那么传递的是计算逻辑

回想,Java中也有类似的传递计算逻辑的写法:

  • 反射(比如:匿名内部类,MapReduce)

那么,可以知道:Scala的函数式编程,底层是Java的反射

以上是关于2021年大数据常用语言Scala(二十):函数式编程 介绍的主要内容,如果未能解决你的问题,请参考以下文章

2021年大数据常用语言Scala(二十七):函数式编程 聚合操作

2021年大数据常用语言Scala(二十一):函数式编程 遍历 foreach

2021年大数据常用语言Scala(二十四):函数式编程 过滤  filter

2021年大数据常用语言Scala(二十六):函数式编程 分组 groupBy

2021年大数据常用语言Scala(二十二):函数式编程 映射 map

2021年大数据常用语言Scala(二十三):函数式编程 扁平化映射 flatMap