spark transformation与action操作函数

一、Transformation

map(func) 返回一个新的分布式数据集,由每个原元素经过函数处理后的新元素组成

filter(func) 返回一个新的数据集,经过fun函数处理后返回值为true的原元素组成

flatMap(func) 类似于map,但每个输入元素会被映射为0个或多个输出元素

mapPartitions(func)  类似于map,对RDD的每个分区起作用

intersection(otherDataset) 求两个RDD的交集

distinct([numTasks]) 返回一个包含源数据集中所有不重复元素的新数据集

groupByKey([numTasks]) 在一个由(K,V)对组成的数据集上调用,返回一个(K,Seq[v])对组成的数据集。

reduceByKey(func,[numTasks]) 在一个(K,V)对组成的数据集上调用,返回一个(K,V)对的数据集

sortByKey([ascending],[numTasks]) 在类型为(K,V)的数据集上调用,返回以K为键进行排序的(K,V)对数据集。

二、Action操作

reduce(func) 通过函数func聚集结果集中的所有元素

collect() 在Driver的程序中,以数组的形式返回数据集中的所有数据。

count() 返回元素的个数

foreach(func) 在数据集的每一个元素上,运行函数func,通常用于更新一个累加器变量,或者和外部存储系统进行交互。

执行transformation操作时,spark并没有开始计算,只是将执行的任务封装成DAG,直到碰到action操作时 才真正提交集群 开始计算。

时间: 2025-01-11 12:53:11

spark transformation与action操作函数的相关文章

Spark Streaming中的操作函数分析

根据Spark官方文档中的描述,在Spark Streaming应用中,一个DStream对象可以调用多种操作,主要分为以下几类 Transformations Window Operations Join Operations Output Operations 一.Transformations 1.map(func) map操作需要传入一个函数当做参数,具体调用形式为 val b = a.map(func) 主要作用是,对DStream对象a,将func函数作用到a中的每一个元素上并生成新

流处理 —— Spark Streaming中的操作函数

1.1 map(fun) 操作 map操作需要传入一个函数当做参数, 主要作用是,对DStream对象a,将func函数作用到a中的每一个元素上并生成新的元素,得到的DStream对象b中包含这些新的元素. val conf = new SparkConf().setMaster("local[2]").setAppName("file streaming") val sc = new SparkContext(conf) val ssc = new Streami

Spark学习之路 (六)Spark Transformation和Action[转]

Transformation算子 基本的初始化 (1)java static SparkConf conf = null; static JavaSparkContext sc = null; static { conf = new SparkConf(); conf.setMaster("local").setAppName("TestTransformation"); sc = new JavaSparkContext(conf); } (2)scala pri

spark教程(四)-action 操作 group 系列

groupBy(f, numPartitions=None, partitionFunc=<function portable_hash>):根据 条件 分组,这个条件是一个函数:输出 (key,迭代器) ## 条件是分组依据,条件不影响最后的输出格式,输出格式仍和原数据相同 ## 如 原来是 [1, 2],经过分组后分到了 第 1 组,输出是 [1, [1, 2]], [1, 2] 完全保留 # 这个例子相当于求 奇偶数 rdd = sc.parallelize([1, 1, 2, 3, 5

Spark常用函数讲解--Action操作

摘要: RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集RDD有两种操作算子:         Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住       了数据集的逻辑操作         Ation(执行):触发Spark作业的运行,真正触发转换算子的计算 本系列主要讲解Spark中常用的函数操作:   

spark RDD transformation与action函数巩固 (未完)

1.创建RDD val lines = sc.parallelize(List("pandas","i like pandas")) 2.加载本地文件到RDD val linesRDD = sc.textFile("yangsy.txt") 3.过滤 filter 需要注意的是 filter并不会在原有RDD上过滤,而是根据filter的内容重新创建了一个RDD val spark = linesRDD.filter(line => lin

Spark的transformation 和 action的操作学习笔记

一.spark的transformation 和 action区别 Spark有一些基本的transformation 和 action的操作,其中transformation形成各类型的RDD,action不形成RDD,而是对RDD进行累加.合并.保存操作. 二.transformation 有哪些 transformation有map.filter.flatMap(与map不一样).Sample.groupByKey.ReduceByKey.Union.Join.cogroup.crossP

03、操作RDD(transformation和action案例实战)

1.transformation和action介绍 Spark支持两种RDD操作:transformation和action.transformation操作会针对已有的RDD创建一个新的RDD:而action则主要是对RDD进行最后的操作,比如遍历.reduce.保存到文件等,并可以返回结果给Driver程序. 例如,map就是一种transformation操作,它用于将已有RDD的每个元素传入一个自定义的函数,并获取一个新的元素,然后将所有的新元素组成一个新的RDD.而reduce就是一种

spark core源码分析9 从简单例子看action操作

上一节举例讲解了transformation操作,这一节以reduce为例讲解action操作 首先看submitJob方法,它将我们reduce中写的处理函数随JobSubmitted消息传递出去,因为每个分区都需要调用它进行计算: 而resultHandler是指最后合并的方法,在每个task完成后,需要调用resultHandler将最终结果合并.所以它不需要随JobSubmitted消息传递,而是保存在JobWaiter中 /** * Submit a job to the job sc