美文网首页
Spark与函数式编程

Spark与函数式编程

作者: 诺之林 | 来源:发表于2021-04-20 16:20 被阅读0次

本文基于函数式编程简介

目录

引入

  • Functional Programming鼻祖Lisp 现代方言主要有Clojure

  • Scala = 多范式(multi-paradigm)编程语言 支持OOP和FP

  • Spark的开发语言即是Scala

特点

This means functions can be treated as values. They can be assigned as values, passed into functions, and returned from functions

scala
val f = (s: String) => println(s)

Array("Hello", "Scala").map(f)

Since data structures can’t be changed, 'adding' or 'removing' something from an immutable collection means creating a new collection just like the old one but with the needed change

/opt/services/spark/bin/spark-shell
val rdd = sc.parallelize(Array(1, 2, 3, 4, 5))
# rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize 

val mapRDD = rdd.map(i => 10 + i)
# mapRDD: org.apache.spark.rdd.RDD[Int] = MapPartitionsRDD[1] at map

要求

  • Pure Function, no Side Effects
Pure Function: 相同输入的情况下输出总是相同

No Side Effects: 不会修改函数外部的任何变量
  • Expression, no Statement
Expression: 单纯的运算过程, 总是有返回值

Statement: 执行某种操作, 没有返回值

价值

  • Method Chaining => Pure functions are easier to reason about
function-programming-introduction-01.png
  • Parallel Programming => 多个任务被同时(多核)处理
function-programming-introduction-02.png

参考

相关文章

  • Spark与函数式编程

    本文基于函数式编程简介[https://blog.nuozhilin.site/2019/06/26/2019-0...

  • 函数式编程

    所谓的函数式编程指的是方法的参数列表可以接收函数对象。 在编写spark、flink时,常常会用到函数式编程。下面...

  • 《Kotlin入门实战》CH5 | 函数与函数式编程

    函数与函数式编程 函数式编程与命令式编程最大的不同是:函数式编程的焦点在于数据的映射,命令式编程(imperati...

  • Scala语言学习三 (函数式编程)

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

  • Scala函数编程

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

  • Python 之路03 - Python基础3

    本节内容 函数与函数式编程 函数式编程之参数详解 局部变量与全局变量作用域嵌套函数 递归 函数式编程介绍 高阶函数...

  • 简单点,理解iOS与函数式编程

    简单点,理解iOS与函数式编程 简单点,理解iOS与函数式编程

  • 认识函数式编程

    认识函数式编程 函数式编程,缩写FP,是一种编程风格,与面向对象、面向过程等编程范式并列。 函数式编程中的函数不是...

  • readMe.md

    java 8 函数式编程探索 hadoop/spark 大数据实现某些具体问题

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

网友评论

      本文标题:Spark与函数式编程

      本文链接:https://www.haomeiwen.com/subject/zbbafltx.html