Spark-SQL数据的加载与保存|加载数据|保存数据|默认数据源

通用的加载和保存

spark.read.load 是加载数据的通用方法
df.write.save 是保存数据的通用方法

加载数据

  1. 直接加载数据
spark.read.json("/opt/module/spark-local/examples/src/main/resources/people.json").show
  1. format指定加载数据类型
spark.read.format("json").load ("/opt/module/spark-local/examples/src/main/resources/people.json").show
  1. 在文件上直接运行SQL(几乎不出现)
spark.sql("select * from json.`/opt/module/spark-local/examples/src/main/resources/people.json`").show

保存数据

  1. write直接保存数据
//默认保存格式为parquet
df.write.save("/opt/module/spark-local/output")
//可以指定为保存格式,直接保存,不需要再调用save了
df.write.json("/opt/module/spark-local/output")
  1. format指定保存数据类型
df.write.format("…")[.option("…")].save("…")
  1. 文件保存选项
// 使用指定format指定保存类型进行保存
df.write.mode("append").json("/opt/module/spark-local/output")

Scala/Java	Any Language	Meaning
SaveMode.ErrorIfExists(default)	"error"(default)	如果文件已经存在则抛出异常
SaveMode.Append	"append"	如果文件已经存在则追加
SaveMode.Overwrite	"overwrite"	如果文件已经存在则覆盖
SaveMode.Ignore	"ignore"	如果文件已经存在则忽略

默认数据源

Spark SQL的默认数据源为Parquet格式。数据源为Parquet文件时,Spark SQL可以方便的执行所有的操作,不需要使用format。修改配置项spark.sql.sources.default,可修改默认数据源格式。

  1. 加载数据
val df = spark.read.load("/opt/module/spark-local/examples/src/main/resources/users.parquet").show
  1. 保存数据
var df = spark.read.json("/opt/module/spark-local/people.json")
//保存为parquet格式
df.write.mode("append").save("/opt/module/spark-local/output")

你可能感兴趣的:(Spark模块化学习,大数据,spark,json)