take

def take(num: Int): Array[T]

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

  1. scala> var rdd1 = sc.makeRDD(Seq(10, 4, 2, 12, 3))
  2. rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[40] at makeRDD at :21
  3. scala> rdd1.take(1)
  4. res0: Array[Int] = Array(10)
  5. scala> rdd1.take(2)
  6. res1: Array[Int] = Array(10, 4)

top

def top(num: Int)(implicit ord: Ordering[T]): Array[T]

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

  1. scala> var rdd1 = sc.makeRDD(Seq(10, 4, 2, 12, 3))
  2. rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[40] at makeRDD at :21
  3. scala> rdd1.top(1)
  4. res2: Array[Int] = Array(12)
  5. scala> rdd1.top(2)
  6. res3: Array[Int] = Array(12, 10)
  7. //指定排序规则
  8. scala> implicit val myOrd = implicitly[Ordering[Int]].reverse
  9. myOrd: scala.math.Ordering[Int] = scala.math.Ordering$$anon$4@767499ef
  10. scala> rdd1.top(1)
  11. res4: Array[Int] = Array(2)
  12. scala> rdd1.top(2)
  13. res5: Array[Int] = Array(2, 3)

takeOrdered

def takeOrdered(num: Int)(implicit ord: Ordering[T]): Array[T]

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

  1. scala> var rdd1 = sc.makeRDD(Seq(10, 4, 2, 12, 3))
  2. rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[40] at makeRDD at :21
  3. scala> rdd1.top(1)
  4. res4: Array[Int] = Array(2)
  5. scala> rdd1.top(2)
  6. res5: Array[Int] = Array(2, 3)
  7. scala> rdd1.takeOrdered(1)
  8. res6: Array[Int] = Array(12)
  9. scala> rdd1.takeOrdered(2)
  10. res7: Array[Int] = Array(12, 10)

更多关于Spark算子的介绍,可参考 Spark算子系列文章 :

http://lxw1234.com/archives/2015/07/363.htm

Spark算子:RDD行动Action操作(2)–take、top、takeOrdered相关推荐

  1. spark学习-Spark算子Transformations和Action使用大全(Transformations章(一))

    spark学习-22-Spark算子Transformations和Action使用大全(Transformations章(一)) http://blog.csdn.net/qq_21383435/a ...

  2. spark学习-Spark算子Transformations和Action使用大全(Action章)

    spark学习-22-Spark算子Transformations和Action使用大全(Transformations章(一)) http://blog.csdn.net/qq_21383435/a ...

  3. spark学习-Spark算子Transformations和Action使用大全(Transformations章(二))

    spark学习-22-Spark算子Transformations和Action使用大全(Transformations章(一)) http://blog.csdn.net/qq_21383435/a ...

  4. spark算子大全glom_2小时入门Spark之RDD编程

    公众号后台回复关键字:pyspark,获取本项目github地址. 本节将介绍RDD数据结构的常用函数.包括如下内容: 创建RDD 常用Action操作 常用Transformation操作 常用Pa ...

  5. 五-中, Spark 算子 吐血总结(转化+行动算子共三十七个)

    文章目录 五-中, Spark 算子吐血总结 5.1.4.3 RDD 转换算子(Transformation) 1. Value类型 1.1 `map` 1.2 `mapPartitions` 1.3 ...

  6. 理解Spark中RDD(Resilient Distributed Dataset)

    文章目录 1 RDD 基础 1.1 分区 1.2 不可变 1.3 并行执行 2 RDD 结构 2.1 SparkContext.SparkConf 2.2 Partitioner 2.3 Depend ...

  7. spark常用RDD算子 汇总(java和scala版本)

    github: https://github.com/zhaikaishun/spark_tutorial  spark RDD的算子挺多,有时候如何灵活的使用,该如何用一下子想不起来,这一段时间将s ...

  8. 详解 Spark RDD 的转换操作与行动操作

    前言 本期继续讲解 Spark 核心 RDD 编程部分,内容比较干货也比较长,建议大家先收藏. 学习目标 RDD 的创建 RDD 的转换操作 RDD 的行动操作 惰性求值 1. RDD 的创建 Spa ...

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

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

  10. Spark的RDD行动算子

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

最新文章

  1. 技巧:Vim 的纵向编辑模式
  2. python 递归乘法
  3. MVC防止CSRF攻击
  4. Java面试2021,java数据可视化项目
  5. tensorflow支持python3.7吗_TensorFlow2.1正式版上线:最后一次支持Python2,进一步支持TPU...
  6. php留言簿,PHP 简易留言板
  7. 编写一个圆类Circle
  8. 创建和销毁对象(1)
  9. 1.android源码编译android-7.1.2_r39
  10. DLLPasswordFilterImplant:DLL密码过滤器
  11. 《爱你就像爱生命》你好哇,陌生人
  12. 微型计算机原理与接口技术第六版,微型计算机原理与接口技术(第6版)
  13. PLC状态机编程第一篇-状态机介绍
  14. go语言-LiteIDE 安装及使用教程
  15. MySql基础篇学习笔记
  16. eleme接口测试01(C#)
  17. 网站统计系统内容分析
  18. python爬取LOL皮肤
  19. 清华大学计算机陈蓓,清华大学2010级本科生新生代表座谈会举行
  20. 不想将就,所以竭尽所能。

热门文章

  1. 错过了粽子不要紧,只是不要错过Ta!
  2. POJ 1149 PIGS(最大流)dinic模板注释
  3. iOS底层探索之KVO(四)—自定义KVO
  4. iOS底层探索之类的加载(四):类的关联对象AssociatedObject
  5. 邮件误删不用怕,试试这个方法帮你找回来
  6. 懒人神器——新手必备的图片后期处理软件
  7. [暴力]JZOJ 100036 随机
  8. 运行phpize时出现:Cannot find autoconf
  9. xshell连接redhat注册显示中文乱码
  10. mysql和sql时间 字段比较大小的问题