Spark 讀

本地文件系統的數據讀寫

val textFile=sc.textFile("file:/// path")

分散式文件系統HDFS的數據讀寫

讀取hdfs 文件的語法

執行上面語句後,就可以看到HDFS文件系統中(不是本地文件系統)的word.txt的第一行內容了。需要注意的是,sc.textFile("hdfs://localhost:9000/user/hadoop/word.txt")中,「hdfs://localhost:9000/」是前面介紹Hadoop安裝內容時確定下來的埠地址9000。實際上,也可以省略不寫,如下三條語句都是等價的:

如圖所示

不同文件格式的讀寫

文本文件

=======================================================

當我們給textFile()函數傳遞一個「包含完整路徑的文件名」時,就會把這個文件載入到RDD中。如果我們給textFile()函數傳遞的不是文件名,而是一個目錄,則該目錄下的所有文件內容都會被讀取到RDD中。

JSON

=======================================================

json

讀取json文件

從上面執行結果可以看出,people.json文件載入到RDD中以後,在RDD中存在三個字元串。我們下面要做的事情,就是把這三個JSON格式的字元串解析出來,比如說,第一個字元串{"name":"Michael"},經過解析後,解析得到key是"name",value是"Michael"。


推薦閱讀:

講座總結|解讀大數據世界中MapReduce的前世今生
分散式機器學習的故事:LDA和MapReduce
Hadoop就是「存儲」加「計算」這麼簡單
Hadoop的MapReduce階段為什麼要進行排序呢,這樣的排序對後續操作有什麼好處么?
知識布局-mapreduce-wordcount

TAG:MapReduce | Hadoop | Spark |