1. pyspark 版本

2.3.0版本

2. collect()

collect()[source]

Return a list that contains all of the elements in this RDD.

中文:返回包含此RDD中的所有元素的列表。

Note This method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver’s memory.中文注解: 注意,这个方法应该只在预期得到的数组很小的情况下使用,因为所有的数据都加载到驱动程序的内存中。

案列:

from pyspark import SparkContext, SparkConf
conf = SparkConf().setMaster("local").setAppName("quzhi")
sc = SparkContext(conf=conf)
lines1 = sc.parallelize(list(range(10)))
print('lines1= ', lines1.collect())>>> lines1=  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

3. take

take(num)[source]

Take the first num elements of the RDD.

It works by first scanning one partition, and use the results from that partition to estimate the number of additional partitions needed to satisfy the limit.

Translated from the Scala implementation in RDD#take().

中文: 取RDD的前num个元素。

它的工作方式是先扫描一个分区,然后使用该分区的结果来估算满足限制所需的其他分区的数量。

从RDD#take()中的Scala实现翻译而来。

Note this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver’s memory.中文:注意 仅当预期结果数组较小时才应使用此方法,因为所有数据均已加载到驱动程序的内存中。>>> sc.parallelize([2, 3, 4, 5, 6]).cache().take(2)
[2, 3]
>>> sc.parallelize([2, 3, 4, 5, 6]).take(10)
[2, 3, 4, 5, 6]
>>> sc.parallelize(range(100), 100).filter(lambda x: x > 90).take(3)
[91, 92, 93]

案列:

# take: 从rdd中返回前n个元素
print('take(2)= ', lines1.take(2)) >>> take(2)=  [0, 1]

4. top

top(numkey=None)[source]

Get the top N elements from an RDD.

中文:

Note This method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver’s memory.
中文: 注意 仅当预期结果数组较小时才应使用此方法,因为所有数据均已加载到驱动程序的内存中。Note It returns the list sorted in descending order.
注意 它返回以降序排序的列表。>>> sc.parallelize([10, 4, 2, 12, 3]).top(1)
[12]
>>> sc.parallelize([2, 3, 4, 5, 6], 2).top(2)
[6, 5]
>>> sc.parallelize([10, 4, 2, 12, 3]).top(3, key=str)
[4, 3, 2]

案列:

# top(num)返回最前面的两个元素
lines2 = sc.parallelize(list(range(0, 10))[::-1])
print('lines2= ', lines2.collect())
print('lines1.top(2)= ', lines1.top(2))
print('lines2.top(2)= ', lines2.top(2))>>>lines2=  [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>>lines1.top(2)=  [9, 8]
>>>lines2.top(2)=  [9, 8]

5. first

first()[source]

Return the first element in this RDD.

中文: 返回此RDD中的第一个元素。

>>> sc.parallelize([2, 3, 4]).first()
2
>>> sc.parallelize([]).first()
Traceback (most recent call last):...
ValueError: RDD is empty

案列

# first() 从RDD中返回第一个元素
print('lines1.first()= ', lines1.first())
print('lines2.first()= ', lines2.first())>>>lines1.first()=  0
>>>lines2.first()=  9

PySpark RDD 之collect、 take、top、first取值操作相关推荐

  1. python列表切片后得到剩余列表_python列表切片和嵌套列表取值操作详解

    python列表切片和嵌套列表取值操作详解 给出列表切片的格式: [开头元素::步长] # 输出直到最后一个元素,(最后一个冒号和步长可以省略,下同) [开头元素:结尾元素(不含):步长] # 其中, ...

  2. python apply函数取数据中的后四位_python 实现rolling和apply函数的向下取值操作

    我就废话不多说了,大家还是直接看代码吧! import pandas as pd def get_under_rolling(df,window,user,name): df[name] = df[u ...

  3. Uipath 利用excel筛选结果进行判断操作/或者取值操作(if,switch,flow switch.....)

    Uipath 利用excel筛选结果进行判断操作/或者取值操作(if,switch,flow switch-) 应用案例:需要对一个目标值进行查询是否在某个数据表中,比如:查询A/X是否存在或者查询A ...

  4. 【C 语言】数组 ( 数组取值操作 | array[i][j] 用法 等价于 *( *(array = i) + j ) 用法 | 下标操作到指针操作演化过程 )

    文章目录 一.数组取值操作方法 二.一维数组取值 下标操作到指针操作 演化过程 三.二维数组取值 下标操作到指针操作 演化过程 一.数组取值操作方法 给定一个二维数组 : int array[2][3 ...

  5. 用JQUERY为INPUT的TXT类型赋值及取值操作

    注意和纯JS操作的区别,一个是对象,一个是字串,如下说明: 在Jquery中,用$("#id")来获得页面的input元素,其相当于document.getElementById( ...

  6. python数组两个冒号_python数组冒号取值操作

    1.冒号的用法 1.1 一个冒号 a[i:j] 这里的i指起始位置,默认为0:j是终止位置,默认为len(a),在取出数组中的值时就会从数组下标i(包括)一直取到下标j(不包括j) 在一个冒号的情况下 ...

  7. string类型--字符串常用取值操作

    1.字符串常量 (1)不依赖于语言环境: string.ascii_letters ==>'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY ...

  8. 数组分成两组差值最小 python_数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0x100,元素个数也是大于0, 小于100 。...

    比如a[]={2,4,5,6,7},得出的两组数{2,4,6}和{5,7},abs(sum(a1)-sum(a2))=0: 比如{2,5,6,10},abs(sum(2,10)-sum(5,6))=1 ...

  9. arr数组怎么取值_记一次思否问答的问题思考:Vue为什么不能检测数组变动

    作者 | hfhan 来源 | https://segmentfault.com/a/1190000015783546 问题描述:Vue检测数据的变动是通过Object.defineProperty实 ...

  10. python数组冒号取值(清晰图解)

    参考这个博客的内容:python数组冒号取值操作 - boobo - 博客园 这个图清晰的解释了我们常见的几种冒号取值运算,看了之后会非常的清晰. 1.冒号的用法 1.1 一个冒号 a[i:j] 这里 ...

最新文章

  1. Java实现归并排序 Merge Sort
  2. python异步和进程_Python异步缓冲区和进程d
  3. 牛客网_PAT乙级_1026跟奥巴马一起编程(15)
  4. git push的时候报411问题
  5. 短语密码_使用密码短语以提高安全性
  6. 扩散(洛谷-P1661)
  7. 智能会议系统(35)---深入浅出sip协议
  8. java整理软件--- Java OCR 图像智能字符识别技术,可识别中文,但是验证码不可以识别...已测识别中文效果很好
  9. Hash类的键值对允不允许为空的问题
  10. 2017年初BAT的JAVA面试题汇集
  11. 流水灯c语言代码switch,单片机C语言入门之六switch case语句流水灯
  12. 图的遍历 ——深度优先遍历
  13. Button点击事件的五种写法
  14. 小猫钓鱼游戏(c++实现)
  15. 关于烛光斧影——赵光义是否谋杀赵匡胤,是否合法继位
  16. 卓有成效的管理者——第5章 要事优先
  17. 【Java 8 新特性】Java 8 时间接口示例:MonthDay、Month、OffsetDateTime 和 OffsetTime
  18. 到微软下载VS2008
  19. 大型电商架构亿级流量电商详情页系统--实战 缓存同步,热点key统计 降级
  20. 使用JavaWeb实现多多自走棋羁绊生成

热门文章

  1. 小白刷LeeCode(算法篇):4
  2. JDO与Hibernate之比较(转载)
  3. Android外挂开发探索
  4. python自动化框架搭建过程我们同在_python webdriver 从无到有搭建混合驱动自动化测试框架的过程和总结...
  5. Docker——数据卷的概述和使用
  6. 还没收到win11系统的推送?教你这样可以直接升级win11
  7. 怎么安装win10系统?Win10系统安装教程
  8. Three.js三角形Triangle
  9. C#中新建用户控件示例
  10. 在IE地址栏显示自己的小图标