Spark SQL 读写数据详解
开始啦,和SparkCore不一样,现在我们现总结一下Spark SQL读写数据。
一、前奏
SparkSession读取数据,可以直接使用spark.read.csv(“path”),也可以使用spark.read.format(“csv”).load(“path”)
spark.read.csv("data.csv")
spark.read.format("csv").load("data.csv")
read:创建一个DataFrame的加载数据对象
csv:直接读取csv文件。saprksql提供了部分直接读取的数据源。
format:要读取的数据文件类型
load:加载数据
有人疑问,为啥有format的存在,我们直接读不就好了吗?那是因为官方仅仅提供了部分文件类型api。所以要加载不存在api的文件类型时候,需要用到format(file_type).load(path)。
二、读写数据
SparkSQL默认的读写数据文件格式parquet,当我们没有指定要写的文件类型时候,SparkSQL会以parquet形式读写。如下两种方式效果一样:
\
读数据:
val data: DataFrame = spark