sparksql概述
sparksql的前世今生
- Shark是专门针对于spark的构建大规模数据仓库系统的一个框架
- Shark与Hive兼容、同时也依赖于Spark版本
- Hivesql底层把sql解析成了mapreduce程序,Shark是把sql语句解析成了Spark任务
- 随着性能优化的上限,以及集成SQL的一些复杂的分析功能,发现Hive的MapReduce思想限制了Shark的发展。
- 最后Databricks公司终止对Shark的开发
- 决定单独开发一个框架,不在依赖hive,把重点转移到了sparksql这个框架上。
什么是sparksql
Spark SQL is Apache Spark's module for working with structured data.
SparkSQL是apache Spark用来处理结构化数据的一个模块。
sparksql的四大特性
易整合
将SQL查询与Spark程序无缝混合
可以使用不同的语言进行代码开发
- java
- scala
- python
- R
统一的数据源访问
以相同的方式连接到任何数据源,sparksql后期可以采用一种统一的方式去对接任意的外部数据源,不需要使用不同的Api
val dataFrame = sparkSession.read.文件格式的方法名("该文件格式的路径")
兼容hive
sparksql可以支持hivesql这种语法 sparksql兼容hivesql
支持标准的数据库连接
sparksql支持标准的数据库连接JDBC或者ODBC