怎样理解Spark中的Transformation和Action
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,今天就跟大家聊聊有关怎样理解Spark中的Transformation和Action,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、RDD的
千家信息网最后更新 2024年09月22日怎样理解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安全错误
数据库的锁怎样保障安全
暗黑重制版无法连接服务器
护苗网络安全课第四集
浙江天缘网络技术有限公司
怎么把书输入数据库
枣庄智慧医养软件开发系统
剑灵 服务器
网络安全技术人才缺乏
ai服务器怎么卖
宝坻区辅助网络技术诚信合作
守望先锋的服务器
ql sql怎么建新数据库
数据库文件的英文名称
幼儿园网络安全教育板报
visio数据库建模
上海高科技软件开发
服务器存在问题怎么处理
优质软件开发费用低
一次请求数据库很大量的数据
数据库中删除一个表
网络安全空间的认识
网络安全教育筑牢思想防线
学空间数据库的心得体会
科技服务互联网
螺旋模型不适用大型软件开发
西安指挥官网络技术有限公司
数据库访问技术的发展
卫生应急指挥系统软件开发商
通信网络技术发展趋势
上海品牌网络技术服务费
网络数据库怎么保证安全