当前位置: 首页 > news >正文

(PySpark)RDD实验实战——取一个数组的中间值

实验环境:

提前准备好findspark,pyspark,py4j等库

import findspark
from pyspark import SparkContext, SparkConffindspark.init()
#初始化spark,默认为你所设定的环境变量
conf = SparkConf().setAppName("jsytest").setMaster("local[4]")
#创建一个SparkConf对象,用于配置Spark应用程序,用setAppName来设置程序名称,
#用setMaster来设置运行模式和线程数,这里为本地模式,4个线程
sc = SparkContext(conf=conf)
#创建一个SparkContext对象,它是与Spark集群通信的主要接口
# sc.stop()  #关闭spark上下文
data = [(1),(5),(7),(10),(23),(20),(6),(5),(10),(7),(10)]
#创建所需的数据集
rdd = sc.parallelize(data)
#用parallelize方法将data中的数据结构并行化成RDD
rdd.sortBy(lambda x:x, ascending=True,numPartitions=1).collect()
#rdd.sortBy()用于对RDD中的元素按照指定的排序键进行排序
#rdd.sortBy(keyfunc, ascending=True, numPartitions=None)
#keyfunc,是从 RDD 的每个元素中提取用于排序的键,多分区的话可以通过指定key的排序,来达到操作目的
#ascending表示排序的顺序。 True为升序,False为降序。
#numPartitions表示最终返回结果RDD的分区数。
ysj=int(rdd.count()/2)
#取data的数据长度并取中间值
ss=rdd.sortBy(lambda x:x, ascending=True,numPartitions=1).collect()
##把最终排序导入ss数组中
print(ss[ysj])
#输出结果

最终全代码演示如下:

import findspark
from pyspark import SparkContext, SparkConf
findspark.init()
conf = SparkConf().setAppName("jsytest").setMaster("local[4]")
sc = SparkContext(conf=conf)
data = [(1),(5),(7),(10),(23),(20),(6),(5),(10),(7),(10)]
rdd = sc.parallelize(data)
rdd.sortBy(lambda x:x, ascending=True,numPartitions=1).collect()
ysj=int(rdd.count()/2)
ss=rdd.sortBy(lambda x:x, ascending=True,numPartitions=1).collect()
print(ss[ysj])

运行结果演示

7

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 树和二叉树的概念以及结构
  • Flink难点和高阶面试题:Flink的状态管理机制如何保证数据处理的准确性和完整性
  • 解决Mac下Vscode编译运行C语言程序会自动生成DSYM文件夹的问题
  • spring-boot-maven-plugin插件打包和java -jar命令执行原理
  • C语言中数据类型
  • Java ETL - Apache Beam 简介
  • CQRS模型解析
  • Git换行符自动转换参数core.autocrlf的用法
  • 第一个Web项目(java+servlet+jsp)
  • 五种数据库特性对比(Redis/Mysql/SQLite/ES/MongoDB)
  • 人工智能 | 基于ChatGPT开发人工智能服务平台
  • git 本地分支误删,怎么恢复?误删本地已提交未推送的分支!
  • Android 如何实现搜索功能:本地搜索?数据模型如何设计?数据如何展示和保存?
  • 二分算法——优选算法
  • [Python学习日记-26] Python 中的文件操作
  • “大数据应用场景”之隔壁老王(连载四)
  • 【RocksDB】TransactionDB源码分析
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 77. Combinations
  • Angular数据绑定机制
  • bootstrap创建登录注册页面
  • extjs4学习之配置
  • Netty 4.1 源代码学习:线程模型
  • Tornado学习笔记(1)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 浮现式设计
  • 工程优化暨babel升级小记
  • 基于组件的设计工作流与界面抽象
  • 前端性能优化--懒加载和预加载
  • 使用API自动生成工具优化前端工作流
  • 数据科学 第 3 章 11 字符串处理
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 听说你叫Java(二)–Servlet请求
  • 线上 python http server profile 实践
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 你对linux中grep命令知道多少?
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 函数计算新功能-----支持C#函数
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $(selector).each()和$.each()的区别
  • $.ajax()方法详解
  • (1)(1.9) MSP (version 4.2)
  • (1)Hilt的基本概念和使用
  • (7)STL算法之交换赋值
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos