一:介绍
官网:https://spark.apache.org/docs/latest/sql-data-sources-load-save-functions.html
随着Spark1.2的发布,Spark SQL开始正式支持外部数据源。Spark SQL开放了一系列接入外部数据源的接口,来让开发者可以实现。
这使得Spark SQL支持了更多的类型数据源,如json, parquet, avro, csv格式。只要我们愿意,我们可以开发出任意的外部数据源来连接到Spark SQL。之前大家说的支持HBASE,Cassandra都可以用外部数据源的方式来实现无缝集成。
二:产生背景
1.数据以各种格式存储在系统中
2加载和保存数据不容易(Hive和mysql之间)
3.数据存在各种类型,不好解析
4.转换数据格式
5.格式转换
6.用户希望方便快速从不同数据源(json,parquet,rdbms),经过混合处理(json join parquet),再将处理结果以特定格式输出。
三:实现
一种将各种外部数据源集成到Spark Sql中的扩展方法
可以使用各种格式和stroage系统读写数据格式
数据源API可以自动删除列和过滤器推到来源:Parquet/JDBC