形式:(参数)=> 表达式  [ 一种匿名函数 ]

例1:map(x => x._2)

   解:x=输入参数,“=>” 右边是表达式(处理参数);

     x._2 : x变为(**,x,**...)元组的第二个元素;

     map ():将每一条输入参数映射为一个新的对象,在spark中会生成新的RDD,如下

    flatmap ()对比

  

例2:filter(line=>line.split(",")=="Tom")- 过滤

   解:先 line.split(“,”),将每一行按“,”拆分,再选择其中==“Tom”的元素,形成新RDD

例3:val list=List(1,2,3,4) 

   list.reduce(_+_)

    解: reduce(_+_)的下划线是占位符,表当前元素;

       reduce()将对两个元素操作返回一个元素

       reduceByKey()

    

例4:collect()

    

例5:foreach()

    

其他RDD操作:

  flatten
  
  zip   fold   groupByKey   patch   drop   sort   ........

参考:https://www.cnblogs.com/spec-dog/p/4813933.html

     https://www.cnblogs.com/zzhangyuhang/p/8989894.html

   http://dblab.xmu.edu.cn/blog/961-2/

scala lambda 表达式 & spark RDD函数操作的更多相关文章

  1. kotlin之lambda表达式和匿名函数

    lambda表达式,称为匿名函数,是一种函数字面值,也就是没有声明的函数,但可以作为表达式传递出去. 函数类型: 对于接受另一个函数的作为自己的参数,必须针对这个参数指定一个函数的类型如 fun &l ...

  2. Python函数与lambda 表达式(匿名函数)

    Python函数 一.函数的作用 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段 函数能提高应用的模块性和代码的重复利用率 python 内置函数:https://docs.pytho ...

  3. 第三天 函数 三元运算 lambda表达式 内置函数 文件操作

    面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...

  4. spark RDD 常见操作

    fold 操作 区别 与 co 1.mapValus 2.flatMapValues 3.comineByKey 4.foldByKey 5.reduceByKey 6.groupByKey 7.so ...

  5. lambda表达式与bind函数

    #include<iostream> #include<algorithm> #include<sstream> #include<vector> #i ...

  6. Lambda表达式公共拼接函数(原创)

    #region Lambda公共拼接函数 /// <summary> /// LambdaWhere(枚举) /// </summary> public enum Lambda ...

  7. C++ Primer : 第十章 : 泛型算法 之 lambda表达式和bind函数

    一.lambda表达式 lambda表达式原型: [capture list] (parameter list) -> retrue type { function body } 一个lambd ...

  8. lambda表达式,map函数

    lambda只是一个表达式,不需要定义函数,故也是匿名函数,用法为:lambda 参数:表达式. x=5 list1=[2,3,4] list2=[10,20,30] s=lambda x:x**3 ...

  9. C++11 Lambda表达式(匿名函数)

    http://www.cnblogs.com/RainyBear/p/5733399.html http://blog.163.com/lvan100@yeah/blog/static/6811721 ...

随机推荐

  1. TIJ摘要:访问控制权限

    重构的原动力之一:发现有更好的方式去实现相同的功能. OOP需要考虑的基本问题:如何把变动的事物与不变的事物区分开来. 访问控制权限:以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访 ...

  2. 布同:使用ghost备份或者还原的往事

    我大学的时候经常折腾电脑,安装了不少莫名其妙的东西.当时对各种小软件特别感兴趣,本着毕业后可以做客户端开发的初衷去做事情.不过很多小软件会恶意安装各种东西,修改注册表,时间一长就会导致C盘很臃肿,必须 ...

  3. 蓝桥杯 历届试题 PREV-1 核桃的数量

    历届试题 核桃的数量   时间限制:1.0s   内存限制:256.0MB 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑 ...

  4. Java基础--CountDownLatch

    CountDownLatch是线程同步辅助类,它允许一个或多个线程wait直到countdown被调用使count为0. CountDownLatch是在java1.5被引入,存在于java.util ...

  5. Java基础--序列化Serializable

    对Java对象序列化的目的是持久化对象或者为RMI(远程方法调用)传递参数和返回值. 下面是一个序列化对象写入文件的例子: ---------------------------- package u ...

  6. Windows:cmd的使用

    1.如果在cmd.exe中无法运行软件(如python),因为在系统的环境变量中,path中没有该软件的安装路径: 2.通过pip安装软件:pip install 文件路径\文件全名,将软件安装在指定 ...

  7. myelipse中部署路径deploy location出现错误

    背景: 因java_web项目中的所有代码以及资源文件突然无法提交,在尝试过诸多方法无果后,果断删除项目重新将down下来.启动Tomcat无问题,使用原来的访问连接报错.经检查发现加载至Tomcat ...

  8. 12-01Js表单验证和JsWindow

    一.表单验证form 1.创建一个新的表单: <form id="id是唯一的,不可重复" name=“可重复”,method="post/get",ac ...

  9. leetcode319

    public class Solution { public int BulbSwitch(int n) { var x = Math.Sqrt(n); var y = Convert.ToInt32 ...

  10. 蓝牙服务 UUID

    https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx 手机蓝牙对手机 ,华为平板取红米手机 8 个Audio So ...