首页 > 其他分享 >RDD算子

RDD算子

时间:2024-02-20 22:56:29浏览次数:26  
标签:map join stream rdd RDD 算子

分布式集合对象上的API称之为算子

算子分为两类:

transformation算子:指返回值仍然是rdd,类似于stream里的中间流

    这类算子与中间流相同,是懒加载的

action算子:返回值不是rdd,类似于stream里的终结流

 

常见算子:

1.map(func):将rdd的数据一条一条的处理,返回新的rdd,和stream流的一样

2.flatmap:对rdd先执行map操作,再进行解除嵌套操作

3.reduceByKey:针对KV型RDD,自动按照key分组,根据提供的聚合逻辑完成聚合操作

4.mapValues:针对KV型RDD,对其中的value进行map操作

5.groupBy:通过这个算子指定你选择谁进行分组 lambda t:t[0]

6.filter:和stream一样

7.distinct:去重,无参

8.union:合并,将2个rdd合并为一个,参数为另一个rdd 注意:1.不同类型可以合并 2.不会去重

9.join:使用方法同上,类似于MySQL的join,所以也有左连接和右连接。注意:只能用于二元的

标签:map,join,stream,rdd,RDD,算子
From: https://www.cnblogs.com/kun1790051360/p/18024221

相关文章

  • flink的分流器-sideoutput Flink 有两种常见的 State类型,分别是:Keyed State (键控状态
    flink的分流器-sideoutputFlink有两种常见的State类型,分别是:KeyedState(键控状态)和OperatorState(算子状态)为了说明侧输出(sideouptut)的作用,浪尖举个例子,比如现在有一篇文章吧,单词长度不一,但是我们想对单词长度小于5的单词进行wordcount操作,同时又想记录下来哪些单词的长度......
  • rdd常用的Action算子和分区操作算子
    frompysparkimportSparkConf,SparkContext#创建Spark配置和上下文对象conf=SparkConf().setAppName("SparkActionsAndPartitions")sc=SparkContext(conf=conf)#示例数据data=[("apple",1),("banana",2),("apple",3),(&quo......
  • 常用的rddTransformation算子
    根据文章:暑假生活每周总结10  frompysparkimportSparkContext#创建SparkContext对象sc=SparkContext("local","RDDTransformationsExample")#假设我们有一个RDD数据源data=sc.parallelize([1,2,3,4,5])#1.map算子mapped_data=data.map(lambda......
  • DStream与RDD关系
    RDD是怎么生成的?RDD依靠什么生成?根据DStream来的RDD生成的依据是什么?SparkStreaming中RDD的执行是否和SparkCore中的RDD执行有所不同?运行之后我们对RDD怎么处理?ForEachDStream不一定会触发Job的执行,但是它一定会触发job的产生,和Job是否执行没有关系;问:RDD依靠什么生成的? ......
  • 实验 4 RDD 编程初级实践
    请到本教程官网的“下载专区”的“数据集”中下载chapter5-data1.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示:(1)该系总共有多少学生;(2)该系共开设来多少门课程;  (3)Tom同学的总成绩平均分是多少;(4)求每名同学的选修的课程门数;(Ford,3)(Enoch,3)(Kim,4)(C......
  • 【快速阅读二】从OpenCv的代码中扣取泊松融合算子(Poisson Image Editing)并稍作优化
    泊松融合是一种非常不错多图融合算法,在OpenCv的相关版本中也包含了该算子模块,作者尝试着从OpenCv的大仓库中扣取出该算子的全部代码,并分享了一些在扣取代码中的心得和收获。泊松融合我自己写的第一版程序大概是2016年在某个小房间里折腾出来的,当时是用......
  • 【快速阅读二】从OpenCv的代码中扣取泊松融合算子(Poisson Image Editing)并稍作优化
    泊松融合我自己写的第一版程序大概是2016年在某个小房间里折腾出来的,当时是用的迭代的方式,记得似乎效果不怎么样,没有达到论文的效果。前段时间又有网友问我有没有这方面的程序,我说Opencv已经有了,可以直接使用,他说opencv的框架太大,不想为了一个功能的需求而背上这么一座大山,看......
  • RDD的两种依赖——窄依赖和宽依赖
        在Spark中,对RDD进行的每一次转化操作都会生成一个新的RDD,由于RDD的懒加载特性,新的RDD会依赖原有RDD,因此RDD之间存在类似流水线的前后依赖关系。这种依赖关系分为两种:窄依赖和宽依赖。  一:窄依赖   窄依赖是指父RDD的一个分区最多被子RDD的一个分区所用。例如m......
  • RDD的五大特性
         ......
  • 2023CANN训练营第2季————Ascend C算子Tiling切分原理与实战
    前言:        使用AscendC编程语言进行算子开发时,因为多核自动并行,以及单核内流水线并行的编程范式(即将单核算子处理逻辑划分为多个流水任务“搬入、计算、搬出”)等特性,可以快速搭建算子实现的代码框架,开发者仅需要把关注点放在数据切分和计算逻辑实现上。固定shape算子切......