天天看點

Spark學習之資料讀取與儲存(4)

Spark學習之資料讀取與儲存(4)

1. 檔案格式

Spark對很多種檔案格式的讀取和儲存方式都很簡單。
如文本檔案的非結構化的檔案,如JSON的半結構化檔案,如SequenceFile結構化檔案。通過擴充名進行處理。
           

2. 讀取/儲存文本檔案

Python中讀取一個文本檔案
           
input = sc.textfile("file:///home/holen/repos/spark/README.md")
    Scala中讀取一個文本檔案
    val input = sc.textFile("file:///home/holen/repos/spark/README.md")
    Java中讀取一個文本檔案
    JavaRDD<String> input = sc.textFile("file:///home/holen/repos/spark/README.md")           
saveAsTextFile()方法用了儲存為文本檔案
           

3. 讀取/儲存JSON檔案

Python中讀取JSON檔案
           
import json
    data = input.map(lambda x: json.loads(x))

    Python中儲存為JSON檔案
    (data.filter(lambda x: x["lovesPandas"]).map(lambda x: json.dumps(x)))
        .saveAsTextFile(outputFile)           

4. Spark SQL中的結構化資料

結構化資料指的是有結構資訊的資料————也就是所有的資料記錄都有具有一緻字段結構的集合。
在各種情況下,我們把一條SQL查詢給Spark SQL,讓它對一個資料源執行查詢,然後得到由Row對象組成的RDD,每個Row對象表示一條記錄。
           

繼續閱讀