RDD之flatMap与Map对比

时间:2021-10-04 20:49:23

定义

首先我们列出flatMap与Map的定义,可参考RDD API

  • def map[U](f: (T) ⇒ U)(implicit arg0: ClassTag[U]): RDD[U]
    Return a new RDD by applying a function to all elements of this RDD.

  • def flatMap[U](f: (T) ⇒ TraversableOnce[U])(implicit arg0: ClassTag[U]): RDD[U]
    Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.

api已经讲解较为清楚,map是将每个元素对应执行f函数,而flatMap对应的是将每个元素执行f函数后将其扁平化

示例

我们采用将每个元素按照空格的方法将每个元素进行分割,分别执行map与flatMap方法。
map方法如下图所示:
RDD之flatMap与Map对比
flatMap方法如下图所示:
RDD之flatMap与Map对比