RDD之flatMap與Map對比
阿新 • • 發佈:2019-02-10
定義
首先我們列出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方法如下圖所示:
flatMap方法如下圖所示: