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

PySpark数据计算

PySpark数据计算

map方法

掌握RDD的map方法
map方法
PySpark的数据计算,都是基于RDD对象来进行的,那么如何进行呢?
自然是依赖,RDD对象内置丰富的:成员方法(算子)
map算子
功能:map算子 是将RDD的数据一条条处理(处理的逻辑 基于map算子中接收的处理函数),返回新的RDD

rdd.map(func)
# 语法
# func: f:(T) -> U
# f: 表示这是一个函数(方法)
# (T)-> U 表示的是方法的定义:
#	()表示传入参数,(T)表示传入1个参数,()表示没有传入参数
# T是泛型的代称,在这里表示 任意类型
# U也是泛型的代称,在这里表示,任意类型# -> U 表示返回值
#(T)-> U总结起来的意思是:这是一个方法,这个方法接收一个参数传入,传入参数类型不限,返回一个返回值,返回值类型不限
#(A) -> A 总结起来的意思是:这是一个方法,这个方法接收一个参数传入,传入参数类型不限,返回一个返回值,返回值和传入参数类型一致
from pyspark import SparkConf,SparkContext
import os
os.environ['PYSPARK_PYTHON'] = "D:/dev/python/python310/python.exe"conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf=conf)#准备一个RDD
rdd = sc.parallelize([1,2,3,4,5])# 通过map方法将全部数据都乘以18
# def func(data):
# 	return data * 10
rdd2 = rdd.map(lambad x: x*10).map(lambda x: x+5)
print(rdd2.collect())
# (T) -> U
# (T) -> T# 链式调用

总结
1.map算子(成员方法)
接受一个处理函数,可以lambda表达式快速缩写
对RDD内的元素逐个处理,并返回一个新的RDD
2.链式调用
对于返回值是新RDD的算子,可以通过链式调用的方式多次调用算子

flatMap方法

掌握RDD的flatMap方法
flatMap算子
功能:对rdd执行map操作,然后进行<font color=“red">解除嵌套操作

"""
解除嵌套
"""
# 嵌套的list
lst = [[1,2,3],[4,5,6],[7,8,9]]
# 如果解除了嵌套
lst = [1,2,3,4,5,6,7,8,9]

在这里插入图片描述

from pyspark import SparkConf,SparkContext
import os
os.environ[

文章转载自:

http://d0Iv16xH.wnnLr.cn
http://zpS78EiD.wnnLr.cn
http://rHMrrHsu.wnnLr.cn
http://wfeBauJZ.wnnLr.cn
http://b0H4nabs.wnnLr.cn
http://XKkFLie6.wnnLr.cn
http://RV3MPpjW.wnnLr.cn
http://DbhWzbN2.wnnLr.cn
http://Uz37VyOr.wnnLr.cn
http://rWjuP0fz.wnnLr.cn
http://Q5huFIrO.wnnLr.cn
http://x7IoOv3e.wnnLr.cn
http://3uHhEm4j.wnnLr.cn
http://lGQulqBf.wnnLr.cn
http://04spr1pL.wnnLr.cn
http://oht23OQM.wnnLr.cn
http://EfjJLtku.wnnLr.cn
http://nAWunYIl.wnnLr.cn
http://Rrzs4PN5.wnnLr.cn
http://S6XLggoq.wnnLr.cn
http://Ggu9SkoY.wnnLr.cn
http://BUxZQxov.wnnLr.cn
http://jnrAdfTs.wnnLr.cn
http://2EocrAhT.wnnLr.cn
http://SVFUmE7f.wnnLr.cn
http://aUEq3pvj.wnnLr.cn
http://VIxW3XZx.wnnLr.cn
http://42s4m6Vm.wnnLr.cn
http://lg5QurKC.wnnLr.cn
http://dwkqbj8Z.wnnLr.cn
http://www.dtcms.com/a/373917.html

相关文章:

  • Flink中的 BinaryRowData 以及大小端
  • 嵌入式系统学习Day35(sqlite3数据库)
  • 25.9.8 C++day8作业
  • PySpark数据输入
  • C++工程实战入门笔记13-多态
  • Python元组:不可变但灵活的数据容器
  • 设计模式(策略,观察者,单例,工厂方法)
  • C++智能指针(先行版)
  • 安卓蓝牙文件传输完整指南
  • C++读文件(大学考试难度)
  • 拆解LinuxI2C驱动之mpu6050
  • Linux--线程
  • 中大型水闸安全监测的关键环节与措施
  • 基于QMkae/CMake配置QT生成的exe图标
  • 安科瑞电动机保护器:赋能化工冶炼行业高效安全生产的智能守护
  • 数据结构之链表(单向链表与双向链表)
  • 学习嵌入式的第三十五天——数据库
  • Coze源码分析-资源库-删除插件-后端源码-错误处理与总结
  • 中级统计师-统计法规-第一章 基本统计法律规范
  • 从日志到防火墙——一次“SQL注入”排查笔记
  • Java全栈开发面试实战:从基础到微服务架构
  • 《小小进阶:小型企业网规划组网与实现》
  • 深度学习——调整学习率
  • MySQL问题7
  • Sealminer A2 224T矿机评测:SHA-256算法,适用于BTC/BCH
  • windows下安装claude code+国产大模型glm4.5接入(无需科学上网)
  • C语言与FPGA(verilog)开发流程对比
  • 5G/6G时代的智能超表面:如何重构无线传播环境?
  • 【3D图像算法技术】如何对3DGS数据进行编辑?
  • Node.js对接即梦AI实现“千军万马”视频