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