怎样理解Spark中的Transformation和Action
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,今天就跟大家聊聊有关怎样理解Spark中的Transformation和Action,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、RDD的
千家信息网最后更新 2025年01月31日怎样理解Spark中的Transformation和Action
今天就跟大家聊聊有关怎样理解Spark中的Transformation和Action,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1、RDD的两种类型操作
RDD的创建:
(SparkContext) sc.parallelize(collection) //将一个集合转换成RDD
sc.textFile("path..") //读取一个文件并转换成RDD
2、Transformations类型
延迟执行,一个RDD通过该操作产生的新的RDD时不会立即执行,只有等到Action操作才会真正执行。
map(func):对调用map的RDD数据集中的每个element都使用func,然后返回一个新的RDD,这个返回的数据集是分布式的数据集示例:var list = List(1,2,3,4,5,6); //定义一个List集合//对于调用map的list而言,num表示list中每一个element,每个element都*2,num可以理解为一个变量名list.map(num=>num*2) 结果:List(2,4,6,8,10,12)//list.map(num=>num*2)可以看成是集合中每个element*2
filter(func):对调用filter的RDD数据集中的每个元素都使用func,然后返回一个包含使func为true的元素构成的RDD示例:var list = List(1,2,3,4,5,6); //定义一个List集合//对于调用filter的list而言,num表示list中每一个element,筛选每个符合>2条件的elementlist.filter(num=>num>2) //参数必须是一个Boolean打印结果:List[Int] = List(3, 4, 5, 6)
flatMap(func):和map差不多,但是flatMap生成的是多个结果 示例:// 定义一个元素为String的集合var strList = List("hello world","hello xm","hello xh","hello , Im fine","hello how are you?")// 将每个element切分成多个字段,flatMap每个参与计算的element必须返回多个结果或者一个数组,例如返回的结果// 可以这样:List(Array(...),Array(...),...)strList.flatMap(stsr=>str.split(" "))打印结果:List(hello, world, hello, xm, hello, xh, hello, ,, Im, fine, hello, how, are, you?)
groupByKey():将相同key的value进行分组groupByReduce():将相同key的value进行合并计算union:将两个RDD聚合,例如:RDD1->(1,2,3),RDD2->(1,2,3),RDD1 union RDD2 -> (1,2,3,1,2,3)join:将两个RDD取笛卡尔积SortByKey(boolean):按照key进行排序,true为降序,false为升序,如果想将value进行排序,可以将key和value位置互换,互换操作:map(x=>(x._2,x._1))
3、Actions类型
提交Spark作业,当Action时,Transformation类型的操作才会真正执行计算操作,然后产生最终结果输出。
cache:将结果放到内存count:统计element的数量collect:返回一个数组结果reduce:对所有的element进行合并lookup:针对某个key查看valuesave:将结果保存到磁盘
看完上述内容,你们对怎样理解Spark中的Transformation和Action有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
结果
数据
类型
元素
内容
多个
示例
相同
两个
数组
排序
差不多
位置
内存
分布式
升序
参数
变量
只有
字段
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
pdf打印到服务器多久
数据库复合键有什么用
服务器安全管理 论文
青少年网络安全绘画作品
软件开发公司价值评估
服务器ip映射到公网
ai会冲击软件开发吗
无法和服务器安全链接
无效服务器
如何下载网站的数据库
cs服务器哪个版本好
营口二手服务器回收
网络技术部门岗位
网络安全的调研方法
有三级网络技术能报四级嵌入式
大数据服务器有什么用
学校2018年网络安全总结
廊坊市纵横网络技术有限公
大话西游2春暖人间服务器人多吗
网络安全知识论文5000字
网络安全队报怎么写
保定文明城市网络安全
刀片服务器维修要多长时间
校园内从管理上保证网络安全运行
网络技术应用全册
java的服务器介绍
ifind数据库收费
30岁学嵌入式软件开发
领航人网络技术工作室
pubmed是书目数据库