Spark 中map與 flatMap的區別

2021-07-12 00:54:08 字數 786 閱讀 5210

進入spark安裝目錄,執行./spark-shell 

步驟一:將測試資料放到hdfs上面

hadoop dfs -put data1/test1.txt /tmp/test1.txt

該測試資料有兩行文字:

該測試資料有兩行文字:

步驟二:在spark中建立乙個rdd來讀取hdfs檔案/tmp/test1.txt

步驟三:檢視map函式的返回值

得到map函式返回的rdd: 

檢視map函式的返回值——檔案中的每一行資料返回了乙個陣列物件

步驟四:檢視flatmap函式的返回值

得到flatmap函式返回的rdd:

檢視flatmap函式的返回值——檔案中的所有行資料僅返回了乙個陣列物件

總結:- spark 中 map函式會對每一條輸入進行指定的操作,然後為每一條輸入返回乙個物件;

- 而flatmap函式則是兩個操作的集合——正是「先對映後扁平化」:

操作1:同map函式一樣:對每一條輸入進行指定的操作,然後為每一條輸入返回乙個物件

操作2:最後將所有物件合併為乙個物件

from:

Spark 中 map 與 flatMap 的區別

通過乙個實驗來看spark 中 map 與 flatmap 的區別。步驟一 將測試資料放到hdfs上面 hadoopdfs put data1 test1.txt tmp test1.txt 該測試資料有兩行文字 步驟二 在spark中建立乙個rdd來讀取hdfs檔案 tmp test1.txt 步...

Spark 中 map 與 flatMap 的區別

通過乙個實驗來看spark 中 map 與 flatmap 的區別。步驟一 將測試資料放到hdfs上面 hadoopdfs put data1 test1.txt tmp test1.txt 該測試資料有兩行文字 步驟二 在spark中建立乙個rdd來讀取hdfs檔案 tmp test1.txt 步...

Spark 中 map 與 flatMap 的區別

通過乙個實驗來看spark 中 map 與 flatmap 的區別。步驟一 將測試資料放到hdfs上面 hadoopdfs put data1 test1.txt tmp test1.txt 該測試資料有兩行文字 步驟二 在spark中建立乙個rdd來讀取hdfs檔案 tmp test1.txt 步...