产生背景:
1.数据以各种格式存储在系统中
2加载和保存数据不容易(Hive和mysql之间)
3.数据存在各种类型,不好解析
4.转换数据格式
5.格式转换
6.用户希望方便快速从不同数据源(json,parquet,rdbms),经过混合处理(json join parquet),再将处理结果以特定格式输出。
出现时间:
Spark Sql1.2出现了外部数据源API
概述:
An extension way to integrate a various of external data sources into Spark Sql
Can read and write DataFrames using a variety of formats and stroage systems
Data Sources API can automatically prune columns and push filters to the source:Parquet/JDBC
目标:
Developer:build libraries for various data sources
Users:easy loading/saving DataFrames
读:spark.read.format("")
内置数据源:json,parquet,jdbc,csv(2.x以后有)
外部数据源:https://spark-packages.org/
SparkSql默认处理的format就是parquent
写:people.write.format().save("");
操作Hive表数据:
spark.table(tablename)
df.write.saveAsTable(tableName)
操作Mysql表数据: