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操作时 才真正提交集群 开始计算。