總結
map的作用很容易理解就是對rdd之中的元素進行逐一進行函數操作,映射為另外一個rdd。
flatMap的操作是將函數應用於rdd之中的每一個元素,將返回的迭代器的所有內容構成新的rdd。通常用來切分單詞。
1. map會對每一條輸入進行指定的操作,然后為每一條輸入返回一個對象。
2. flatmap函數則是兩個操作的集合--正是先映射后扁平化
操作1:同map函數一樣,對每一條輸入進行指定的操作,然后為每一條輸入返回一個對象
操作2:最后將所有對象合並為一個對象
實操
val list2 : List[String] = List(List("A", "B"), List("C", "D"))
val list3 : List[Array[String]] = list2.map(x => {
x.split(" ")
})
val strings: List[String] = list2.flatMap(x => {
x.split(" ")
})
map:List里有小的List
flatmap:是先flat再map,只能壓一次,形成一個新的List集合,把原元素放進新的集合里面