spark的translate和action
之前对spark的一直进行学习和操作,最近准备系统的学习一下的。对于translate和action有一定了解,但是不是很全面。所以在这篇博客中整理一下的。
translate
对于一个rdd的操作
函数名 | 目的 | 示例 | 结果 | 备注 |
---|---|---|---|---|
map() | 将函数应用于RDD中的每个元素,将返回值构成新的RDD | rdd.map(lambd x:x+1) | {2,3,4,5} | 和python的基本用法差不多 |
flatmap() | 将函数应用于RDD中的每个元素,将返回的迭代器的所有内容构成新的RDD。通常用来切分单词 | rdd.flatMap(lambda x:x.split(“,”)) | {1,2,3,2,3,3,3} | |
filter() | 返回一个由通过传给filter()的函数的元素组成的RDD | rdd.filter(x=>x!=1) | ||
和python的算法很像 | ||||
distinct() | 去重 | rdd.distinct() | {1,2,3} | .. |
sample(withReplacement,fraction,[seed]) | 对RDD采样,以及是否替换,第一个参数是是否 |