- Spark加載不同格式文件時(shí),調(diào)用sqlContext.read.format("").load方法
val peopleDF=sqlContext.read.format("json").load("E:\\spark\\src\\main\\resources\\people.json")
- Spark將DataFrame寫入到文件中時(shí)扁凛,調(diào)用DF.write.format("").save方法
peopleDF.select("name")
.write.format("parquet")
//.mode(SaveMode.ErrorIfExists)
.mode(SaveMode.Append)
.save("E:\\spark\\src\\main\\resources\\people")
package com.spark.sql
import org.apache.spark.sql.{SQLContext, SaveMode}
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by Administrator on 2017/3/12.
* 通用加載數(shù)據(jù)和保存數(shù)據(jù)
* 文件保存模式
* 1.SaveMode.ErrorIfExists
* parquet文件的有點(diǎn)【列式存儲】
* 1.可以跳過不符合條件的數(shù)據(jù),只讀取需要的數(shù)據(jù),降低IO量
* 2.壓縮編碼可以降低磁盤的存儲空間摩桶,由于同一類的數(shù)據(jù)類型是相同的,可以使用更高效的壓縮編碼帽揪,進(jìn)一步節(jié)約存儲空間
* 3.只讀取需要的列硝清,支持向量運(yùn)算,能夠獲得更好的掃描性能
*/
object GenericLoadAndSave extends App{
val conf = new SparkConf()
.setMaster("local")
.setAppName("GenericLoadAndSave")
val sc = new SparkContext(conf)
val sqlContext= new SQLContext(sc)
//加載數(shù)據(jù)
val peopleDF=sqlContext.read.format("json").load("E:\\spark\\src\\main\\resources\\people.json")
//保存到目錄
peopleDF.select("name")
.write.format("parquet")
//.mode(SaveMode.ErrorIfExists)
.mode(SaveMode.Append)
.save("E:\\spark\\src\\main\\resources\\people")
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者