Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame 注册为临时表之后,就可以对该DataFrame执行SQL查询
Spark SQL的默认数据源为Parquet格式。数据源为Parquet文件时,Spark SQL可以方便的执行所有的操作。修改配置项spark.sql.sources.default,可以修改默认数据源格式
读取文件:
spark.read.load("xxx.json"),他会报错,因为默认load加载的数据集的格式是Parquet格式
所以可以改为spark.read.format("json").load("xxx.json")
所以为了方便读取,我们还是在read.后面选取合适格式
存文件:
val df=spark.read.json("xxx.json")
df.write.save("文件夹名"),默认格式也是parquet
这个时候我们要format转换一个格式,删掉之前保存的
df.write.format("json").save("文件夹名"),这个时候进去看就是json格式的数据了
这里要注意一下保存的模式 ->mode
语句:df.write.format("json").mode("append").save("文件夹")
保存的模式一般有四种:
error(default) 如果文件存在,则报错
append 追加
overwrite 覆写(就是覆盖的意思)
ignore 数据存在,则忽略