-
RDD 分类
数值RDD
KV类型RDD -
transformation转换 算子特性
transformation 是懒执行,只有action算子才能触发 -
针对数值RDD 的一些常见算子
3.1 map(func) 对RDD上每一个元素进行func操作
3.2 mapPartitions(func) 对RDD的每个分区进行操作
相比较map,计算次数变少,每个分区的数据封装为一个Iterator
3.3 filter(func) 经过func函数计算后返回为true的输入元素组成
3.4 mapPartitionsWithIndex(func) 类似于mapPartitions,但func带有一个整数参 数表示分片的索引值,每个分区的数据封装为一个Iterator
def mapPartitionsWithIndex[U](f: (Int, Iterator[(String, Int)]) => Iterator[U],preservesPartitioning: Boolean)(implicit evidence$9: scala.reflect.ClassTag[U]): org.apache.spark.rdd.RDD[U]
3.5 flatMap(func) 先map---然后flat ,只是spark没有单独的flat函数`
def flatMap[U](f: String => TraversableOnce[U])(implicit evidence$4: scala.reflect.ClassTag[U]): org.apache.spark.rdd.RDD[U]`
func作用在每一项,每一项都产生一个数组、集合ÿ