D29 RDD高级算子
来源:互联网 发布:python学习手册 mobi 编辑:程序博客网 时间:2024/06/05 08:27
RDD中两种算子:
transformation转换,是延迟加载的
常用的Transformation:
转换
含义
map(func)
返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成
filter(func)
返回一个新的RDD,该RDD由经过func函数计算后返回值为true的输入元素组成
flatMap(func)
类似于map,但是每一个输入元素可以被映射为0或多个输出元素(所以func应该返回一个序列,而不是单一元素)
mapPartitions(func)
类似于map,但独立地在RDD的每一个分片上运行,因此在类型为T的RDD上运行时,func的函数类型必须是Iterator[T] => Iterator[U]
mapPartitionsWithIndex(func)
类似于mapPartitions,但func带有一个整数参数表示分片的索引值,因此在类型为T的RDD上运行时,func的函数类型必须是
(Int, Interator[T]) => Iterator[U]
sample(withReplacement, fraction, seed)
根据fraction指定的比例对数据进行采样,可以选择是否使用随机数进行替换,seed用于指定随机数生成器种子
union(otherDataset)
对源RDD和参数RDD求并集后返回一个新的RDD
intersection(otherDataset)
对源RDD和参数RDD求交集后返回一个新的RDD
distinct([numTasks]))
对源RDD进行去重后返回一个新的RDD
groupByKey([numTasks])
在一个(K,V)的RDD上调用,返回一个(K, Iterator[V])的RDD
reduceByKey(func, [numTasks])
在一个(K,V)的RDD上调用,返回一个(K,V)的RDD,使用指定的reduce函数,将相同key的值聚合到一起,与groupByKey类似,reduce任务的个数可以通过第二个可选的参数来设置
aggregateByKey(zeroValue)(seqOp, combOp, [numTasks])
sortByKey([ascending], [numTasks])
在一个(K,V)的RDD上调用,K必须实现Ordered接口,返回一个按照key进行排序的(K,V)的RDD
sortBy(func,[ascending], [numTasks])
与sortByKey类似,但是更灵活
join(otherDataset, [numTasks])
在类型为(K,V)和(K,W)的RDD上调用,返回一个相同key对应的所有元素对在一起的(K,(V,W))的RDD
cogroup(otherDataset, [numTasks])
在类型为(K,V)和(K,W)的RDD上调用,返回一个(K,(Iterable<V>,Iterable<W>))类型的RDD
cartesian(otherDataset)
笛卡尔积
pipe(command, [envVars])
coalesce(numPartitions)
repartition(numPartitions)
repartitionAndSortWithinPartitions(partitioner)
常用的Action
动作
含义
reduce(func)
通过func函数聚集RDD中的所有元素,这个功能必须是课交换且可并联的
collect()
在驱动程序中,以数组的形式返回数据集的所有元素
count()
返回RDD的元素个数
first()
返回RDD的第一个元素(类似于take(1))
take(n)
返回一个由数据集的前n个元素组成的数组
takeSample(withReplacement,num, [seed])
返回一个数组,该数组由从数据集中随机采样的num个元素组成,可以选择是否用随机数替换不足的部分,seed用于指定随机数生成器种子
takeOrdered(n, [ordering])
saveAsTextFile(path)
将数据集的元素以textfile的形式保存到HDFS文件系统或者其他支持的文件系统,对于每个元素,Spark将会调用toString方法,将它装换为文件中的文本
saveAsSequenceFile(path)
将数据集中的元素以Hadoop sequencefile的格式保存到指定的目录下,可以使HDFS或者其他Hadoop支持的文件系统。
saveAsObjectFile(path)
countByKey()
针对(K,V)类型的RDD,返回一个(K,Int)的map,表示每一个key对应的元素个数。
foreach(func)
在数据集的每一个元素上,运行函数func进行更新。
- D29 RDD高级算子
- RDD算子
- RDD算子
- spark rdd 算子
- 16.rdd 算子举例
- RDD Transformation算子分类
- spark中的RDD算子
- java实现RDD算子
- java实现RDD算子
- Spark RDD算子介绍
- Spark RDD算子介绍
- Spark RDD算子介绍
- Spark RDD算子介绍
- Spark RDD排序算子
- Spark RDD 常用算子
- Spark RDD算子【四】
- 【spark,rdd,2】RDD基本转换算子
- Spark RDD算子源码解读
- D28 Spark基础
- Mips TLB miss异常
- org.json.JSONException: Value java.net.UnknownHostException of type java.lang.String cannot be conv
- HDU
- 【javascript】您好, 您要的ECMAScript6速记套餐到了 (一)
- D29 RDD高级算子
- Java 内部类的一些总结
- 70.爬楼梯
- Mips TLB miss实现in Linux
- Linux shell 的 test 命令用法详解
- jsp后一个窗口传值给前一个窗口,子父窗口之间的传值
- Bell数
- 百度富文本编辑器Ueditor上传图片时标签中添加宽高
- uva 1347 动态规划DAG lrj-P269