zoukankan      html  css  js  c++  java
  • [Scala] 函数式编程

    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

    闭包

    • 函数的嵌套:一个函数中包含另一个函数的定义
    • 内函数中可访问外函数的变量

    柯里化

    •  把具有多个参数的函数转换为一个函数链,每个节点上是单一函数

  • 相关阅读:
    not syncing: Attempted to kill init
    PhpStudy如何开启Apache的gzip压缩功能?
    去掉桌面图标快捷箭头
    PS中10种样式操作
    Mysql数据库报错1264
    宝塔建站
    VB错误说明
    Flash的swf文件破解
    PS快捷键
    Mysql双向同步热备份设置
  • 原文地址:https://www.cnblogs.com/cxc1357/p/13032949.html
Copyright © 2011-2022 走看看