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

PySpark实战一之入门

1、PySpark的编程模型

分三个模块:

数据输入:通过SparkContext对象,完成数据输入

数据处理计算:输入数据后得到RDD对象,对RDD对象的成员方法进行迭代计算

数据输出:最后通过RDD对象的成员方法,完成数据输出,将结果输出到list、元组、字典、文本文件、数据库等

2、如何安装PySpark库

pip install pyspark

注:sprak支持环境变量,通过入参告诉spark,python在哪里

3、为什么要构建SparkContext对象作为执行入口

PySaprk的功能都是从SparkContext对象作为开始入口

4、算子

PySpark的数据计算,都是基于RDD对象来进行的,RDD对象内置丰富的成员方法(算子)

1、map算子

功能:map算子,是将RDD的数据一条条处理(处理的逻辑基于map算子种接收的处理函数),返回新的RDD对于返回值是新RDD的算子,可以通过链式调用的方法多次调用算子

2、flatMap算子 

功能:对rdd执行map操作,然后进行解除嵌套操作

func:(T)->U:传入参数有一个,最少一个返回值

 func:(V,V)-> V :接受两个传入参数,返回一个返回值,类型和传入参数一致

3、reduceByKey算子

功能:针对KV型RDD,自动按照key分组,对组内的数据进行两两计算,然后根据你提供的聚合逻辑,完成组内数据的聚合操作

注:reduceByKey中接收的函数,只负责聚合,不理会分组

 4 、filter算子

功能:过滤器,接收一个处理函数,用lambda编写

5、distinct算子(无需传参)

功能:对RDD的数据进行去重,返回新的RDD 

 6、sortBy算子 

功能:对RDD数据进行排序,基于你指定的排序一句

rdd.sortBy(func,ascending=False,numPartitions=1)

func:(T)->U :告知rdd中按照哪个进行排序,比如lambda x:x[1],表示按照rdd的第二列元素进行排序

ascending True 升序 False降序

numPartiontions:用多少分区排序

输出数据

7、collect算子

功能:将 RDD各个分区内的数据,统一收集到Driver中,形成一个List对象

用法:rdd.collect(),返回值是一个list

8、reduce算子

功能:对RDD数据集按照你传入的逻辑进行聚合

rdd.reduce()

# func:(T,T)-> T

# 2参数传入 1个返回值,返回值和参数类型要求类型一致

9、take算子

功能:将RDD的前n个元素,组合成list返回

10、count算子

功能:统计RDD元素的个数

http://www.lryc.cn/news/7627.html

相关文章:

  • 【DockerCE】Docker-CE 23.0.1正式版发布
  • vscode开发的Vue家用电器维修服务系统nodejs+mysql
  • PyQt5数据库开发1 4.2 配置SQL Server 2008 数据源(ODBC编程)
  • 【JavaEE】多线程代码实例:单例模式与阻塞队列BlockingQueue
  • 算法思想 - 搜索算法
  • C#底层库--日期扩展类(上周、本周、明年、前年等)
  • 如何在 Webpack 中开启图片压缩
  • Web-Filter
  • 测试写文章自动保存
  • 云平台搭建实例
  • 【Airplay_BCT】关于Bonjour的概念解答
  • C++深入浅出(九)—— 多态
  • shell学习4
  • VR全景行业的应用价值如何呈现?
  • ESP-IDF:TCP多线程并发服务器
  • Springboot扩展点之SmartInitializingSingleton
  • 基于linux内核的驱动开发学习
  • python3 django gunicorn
  • 专家分享 | 租赁型售楼处标准化示范区提效研究
  • linux之echo使用技巧
  • Keras实例教程(7)之构建模型的第三种方式
  • 【JUC并发编程】18 CopyOnWriteArrayList源码也就够看2分钟
  • 如何优雅的实现回调函数?
  • 3GPP-NR Band20标准定义频点和信道(3GPP V17.7.0 (2022-12))
  • Excel表格的公式不想显示出来,可以这样操作
  • 【零基础入门前端系列】—语义化标签、实体字符、视频、音频(八)
  • 超详细讲解线性表和顺序表!!
  • 大数据之-Nifi-Nifi的安装_启动_认识Nifi的操作台---大数据之Nifi工作笔记0002
  • 【大数据clickhouse】clickhouse 常用查询优化策略详解
  • 【Java项目】基于Java+MySQL+Tomcat+maven+Servlet的个人博客系统的完整分析