SPARK 2.2.1 SQL 处理各种数据源的案例与解读
由于集团下的各个子公司在数据集成之前,使用数据有多种格式,因此需要支持多种数据来源的处理,将各个子公司的不同数据源集成到集团统一的大数据平台下。Spark SQL支持从各种数据源加载文件构建DataFrame/DataSet,以及将DataFrame/DataSet 保存到各种数据源中。
在给出数据源实战案例之前,先对Spark SQL的数据源进行分析,下面是从源码角度,对内置的数据源、数据源的查找两个方面进行分析。
1) 数据源分析
查看源码,可以从任何一个加载数据源的接口触发,最后找到解析数据源的代码,这里数据源的源码在DataSource.scala文件中,相关代码如下所示。
DataSource.scala源代码:
1. object DataSource extendsLogging {
2.
3. /** A map to maintain backward compatibilityin case we move data sources around. */
4. private val backwardCompatibilityMap