概述
SparkSQL 对文件的读取和保存
都有通用的方式
和不同格式文件读取、保存的简化方式。
创建连接对象
val session = SparkSession.builder .master("local[*]") .appName("read") .getOrCreate()
读取文件
默认的读取文件的格式是
.parquet
文件,在 Spark 安装包/examples/src/main/resources
下面有例子
session.read.load("路径")
通用格式
通用个格式默认读取的是
.parquet
,我们可以修改这个默认值
session.read.format("json").load("路径")
简化格式
简化格式只有一些常见的格式
session.read.json("路径") ------------------------- // 支持格式 csv format jdbc json load option options orc parquet schema table text textFile
读取 MySQL 的数据
需要加入 MySQL 的依赖
方式一
session.read.format("jdbc") // 数据库连接 .option("url", "jdbc:mysql://127.0.0.1:3306/world") // 数据库表 .option("dbtable", "city") // 数据库用户名 .option("user", "root") // 数据库表密码 .option("password", "123456") .load()
方式二
// 创建一个 Properties 对象 val properties = new Properties() properties.put("user","root") properties.put("password","123456") session.read.jdbc("jdbc:mysql://127.0.0.1/world","city",properties)
保存文件
默认的保存文件的格式是
.parquet
文件
// df 是 DataFrame 或者 DataSet 对象 df.write.save("路径")
通用格式
能指定保存的格式和模式
- 格式:比如 Json、csv …
- 模式:有 4 种模式
- “error”:如果文件存在,则报错
- “append”:追加
- “overwrite”:覆写
- “ignore”:数据存在,则忽略
df.write.mode("保存模式").format("文件格式").save("路径")
简化格式
直接保存为相应格式的文件
df.write.json("路径") ------------------------- // 支持格式 bucketBy format jdbc mode options parquet save sortBy csv insertInto json option orc partitionBy saveAsTable text
保存数据到 MySQL
方式一
df.write.mode("append") .format("jdbc") .option("url","jdbc:mysql://127.0.0.1/spark") .option("dbtable","user") .option("user","root") .option("password","123456") .save()
方式二
val properties = new Properties() properties.put("user","root") properties.put("password","123456") df.write.mode("append").jdbc("jdbc:mysql://127.0.0.1/spark","user",properties)
版权声明:《 SparkSQL 读取 和 保存文件 》为明妃原创文章,转载请注明出处!
最后编辑:2020-2-24 06:02:04