从三点来理解
1.更简单
支持标准的SQL和简化的API
一,在编程API方面,spark简化了API
二,统一了Scala/java下的Dataset和DataFraeam
三,只需要创建sparksession不再需要创建sparkcontext等系列的初始化对象
四,支持一些管道的持久性和一些R的分布式算法
首先我们要明白sparksql处理结构化数据和非结构化数据的方法,对于spark来说spark处理结构化数据是使用的sql,当我们遇到了非结构化数据的时候我们使用的就是dataset和dataframe
2.更快
spark可以当作一个编译器
例如:select count(*) from store_sales where ss_item_sk =1000
传统数据库的迭代模型它的实现特别复杂主要就是会出现很多迭代、因为传统数据的查询引擎是通用的,所以更加增加了迭代时间,没有对数据进行特定处理
而spark就是将你的的查询针对对数据进行修改从以下几个方面
①.会进行cpu的切换
②.将数据存储在内存里
三.将代码展开
但是前提是对于大数据量!!!
3.更加智能
结构化数据流
会对处理数据进行优化,而且在2.0多了saprkstream