WordCount
- sc是spark的一个对象,SparkContext 对象非常重要
- sc.textFile("hdfs://bigdata111:9000/input/data.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
匿名函数
- 可接收参数,有返回值
- 定义一个数组,把数组中的每个元素乘以3
高阶函数
- 把一个函数作为另一个函数的参数值
- map:相当于循环,对某个集合中的每个元素进行操作,返回一个新的集合
- _:代表循环变量i
- foreach:相当于循环,对某个集合中的每个元素进行操作,没有返回值
- filter:过滤,选出满足条件的数据
- 查询能被2整除的数字
- zip:合并集合
- partition:根据断言结果,进行分区
- find:查找第一个满足条件(断言)的元素
- flattern:把嵌套结构展开
- flatMap:相当于 map + flattern
- 先对两个List调用x=>x.map(_*2)
- 再合并成一个List
闭包
- 函数的嵌套:一个函数中包含另一个函数的定义
- 内函数中可访问外函数的变量
柯里化
- 把具有多个参数的函数转换为一个函数链,每个节点上是单一函数