• first

first返回RDD中的第一个元素,不排序。

scala> var rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2)
scala> rdd1.first
res1: (String, String) = (A,1)
  • count

count返回RDD中的元素数量。

scala> var rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2)
scala> rdd1.count
res2: Long = 3
  • reduce

根据映射函数f,对RDD中的元素进行二元计算,返回计算结果

scala> var rdd1 = sc.makeRDD(1 to 10,2)
scala> rdd1.reduce(_ + _)
res3: Int = 55
  • collect

collect用于将一个RDD转换成数组。

scala> var rdd1 = sc.makeRDD(1 to 10,2)
scala> rdd1.collect
res4: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  • take

take用于获取RDD中从0到num-1下标的元素,不排序。

scala> var rdd1 = sc.makeRDD(Seq(10, 4, 2, 12, 3))
scala> rdd1.take(1)
res5: Array[Int] = Array(10)
  • top

top函数用于从RDD中,按照默认(降序)或者指定的排序规则,返回前num个元素。

scala> var rdd1 = sc.makeRDD(Seq(10, 4, 2, 12, 3))
scala> rdd1.top(1)
res6: Array[Int] = Array(12)scala> rdd1.top(2)
res7: Array[Int] = Array(12, 10)//指定排序规则
scala> implicit val myOrd = implicitly[Ordering[Int]].reverse
scala> rdd1.top(1)
res8: Array[Int] = Array(2)scala> rdd1.top(2)
res9: Array[Int] = Array(2, 3)
  • takeOrdered

takeOrdered和top类似,只不过以和top相反的顺序返回元素。

scala> var rdd1 = sc.makeRDD(Seq(10, 4, 2, 12, 3))
scala> rdd1.top(1)
res10: Array[Int] = Array(2)scala> rdd1.top(2)
res11: Array[Int] = Array(2, 3)scala> rdd1.takeOrdered(1)
res12: Array[Int] = Array(12)scala> rdd1.takeOrdered(2)
res13: Array[Int] = Array(12, 10)

[scala-spark]12. RDD行动操作相关推荐

  1. Spark 的键值对(pair RDD)操作,Scala实现

    一:什么是Pair RDD? Spark为包含键值对对类型的RDD提供了一些专有操作,这些操作就被称为Pair RDD,Pair RDD是很多程序的构成要素,因为它们提供了并行操作对各个键或跨节点重新 ...

  2. Spark的RDD序列化

    RDD序列化 1. 闭包检查 从计算的角度, 算子以外的代码都是在Driver 端执行, 算子里面的代码都是在 Executor端执行.那么在 scala 的函数式编程中,就会导致算子内经常会用到算子 ...

  3. Spark的RDD转换算子

    目录 RDD转换算子 Value 类型 1. map 2. mapPartitions map 和mapPartitions 的区别 3. mapPartitionsWithIndex 4. flat ...

  4. Spark之RDD实战篇3

    键值对RDD.数据读取与保存.累加器.广播变量: 键值对RDD Spark 为包含键值对类型的 RDD 提供了一些专有的操作 在PairRDDFunctions专门进行了定义.这些 RDD 被称为 p ...

  5. Spark:RDD编程总结(概述、算子、分区、共享变量)

    目录 1.RDD概述 1.1.RDD是什么 1.2.RDD的弹性 1.3.RDD的特点 1.3.1.分区 1.3.2.只读 1.3.3.依赖 1.3.4.缓存 1.3.5.检查点 2.RDD编程 2. ...

  6. spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍

    参考文章:spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍 spark常见的RDD 1. 函数概览 2. 常见的Transformations 操 ...

  7. 【Spark】RDD入门编程实践(完整版)

    文章目录 1 RDD创建 1.1 从文件系统中加载数据 1.2 通过并行集合 2 RDD的操作 2.1 转换 2.1.1 filter 2.1.2 map 2.1.3 flatMap 2.1.4 gr ...

  8. Spark的RDD持久化

    RDD持久化 1. RDD Cache 缓存 说明 RDD 通过Cache 或者Persist 方法将前面的计算结果缓存,默认情况下会把数据以缓存在JVM 的堆内存中.但是并不是这两个方法被调用时立即 ...

  9. Spark的RDD行动算子

    目录 基本概念 算子介绍 1. reduce 2. collect 3. count 4. first 5. take 6. takeOrdered 案例实操1-6 7. aggregate 8. f ...

最新文章

  1. 如何完全安装mysql数据库_数据库经验:如何简单安装MySQL数据库
  2. CDH Kerberos 认证下Kafka 消费方式
  3. 关于北大陈秉乾教授的一些趣事
  4. 拯救普通人周报焦虑,一个自动化报表工具就能实现
  5. Zookeeper基础使用
  6. 继承extends(Java)
  7. 【路径规划】基于matlab蚁群算法求解机器人栅格地图最短路径规划问题【含Matlab源码 1618期】
  8. 千万数据,如何快速商品分页
  9. 3小时GIS入门教程(二)GIS数据格式、坐标系
  10. 彻底解决mac os 下javac Java命令行工具乱码问题
  11. NetWare 客户服务禁用了欢迎屏幕和快速切换恢复方法
  12. 第三章:顺序结构程序设计(练习题)
  13. 百度、腾讯和阿里内部的级别和薪资待遇是什么样的?
  14. Android课题研究的主要观点,二、本课题的研究目标、研究内容、主要观点和创新之处.doc...
  15. 基于Token的身份验证的原理
  16. Typhon升级到5.8,编译原来程序出现提示:Compilation raised exception internally
  17. 【图像分类】基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)
  18. C#的AES加密解密(ECB)
  19. PHP 规则引擎 Hoa\Ruler
  20. 阿里自然语言处理部总监分享:NLP技术的应用及思考

热门文章

  1. 网站优化记录-通过命令预编译Asp.net 网站,成功优化到毫秒级别。
  2. eclipse整体替换
  3. z营销新网站首页预览
  4. windows窗体(winform)中嵌入显示Excel工作表。
  5. hdu 5418(状态压缩dp+Floyd)
  6. zoj-3471 Most powful
  7. ubuntu16.04 编译opencv4和opencv_contrib
  8. MySQL添加服务、设置密码、修改密码
  9. 数据结构 - 从二叉搜索树说到AVL树(一)之二叉搜索树的操作与详解(Java)
  10. 洛谷 P4430 小猴打架