一 变化
① Spark Core& Spark SQL API
1、dataframe 与dataset统一,dataframe诞生于1.6,消亡于2.0…
dataframe只是dataset[Row]的类型别名
无论是typed方法(map、filter、groupByKey等)还是untyped方法(select、groupBy等),都通过Dataset来提供。而且Dataset API将成为Spark的新一代流式计算框架——structured streaming的底层计算引擎
2、SparkSession :统一SQLContext 和HiveContext,新上下文入口
为SparkSession新的流式调用configuration api
3、accummulator 功能增强
4、dataset的增强聚合api
②Spark Core Spark SQL SQL
- 支持 sql 2003标准
- 支持ddl命令
- 支持ansi-sql和hive sql的sql parser
- 支持子查询 : in/not in 、exists/not exists
③ SparkCore & Spark SQL new Feature
- 支持csv文件
- 支持缓存和程序运行的堆外内存管理
3.看官网去吧。
Spark Core Spark SQL 性能?
1、通过whole-stage code generation 技术将spark sql和dataset 的性能提升 2~10倍
2、 通过 vectorization 技术提升parquet文件的扫描吞吐量
3、 提升orc文件读写性能
④ SparkStreaming
Structured Streaming
- 基于spark sql和catalyst引擎构建
- 支持使用dataframe风格的api进行流式计算
⑤依赖管理 打包和操作
- 不需要在生产部署时打包fat jar(可以不打spark相关依赖jar包),可以使用provided风格
- 完全移除了akka的依赖 换 netty
- 支持kryo3.0版本
- 使用scala 2.11 替代了scala2.10
- spark 1.x中标识为过期的所有api
- hash-based shuffle manager