Spark2.x 与 Spark1.x 关系

Spark2.x 与 Spark1.x 关系

Spark2.x 引入了很多优秀特性,性能上有较大提升,API 更易用。在“编程统一”方面非常惊艳,实现了离线计算和流计算 API 的统一,实现了 Spark sql 和 Hive Sql 操作 API 的统一。Spark 2.x 基本上是基于 Spark 1.x 进行了更多的功能和模块的扩展,及性能的提升。

Spark2.x 新特性

1). Spark Core/SQL

在内存和CPU使用方面进一步优化Spark引擎性能(钨丝计划)。支持SQL 2003标准 ,支持子查询,对常用的SQL操作和DataFrame,性能有2-10倍的提升。

2). sparksession

Spark2.0 中引入了 SparkSession 的概念,它为用户提供了一个统一的切入点来使用 Spark 的各项功能,统一了旧的SQLContext与HiveContext。用户不但可以使用 DataFrame 和Dataset 的各种 API,学习 Spark2 的难度也会大大降低。

3). 统一 DataFrames 和 Datasets 的 API。

它们都是提供给用户使用,包括各类操作接口的 API,1.3 版本引入 DataFrame,1.6版本引入Dataset,在 spark 2.0 中,把 dataframes 当作是一种特殊的 datasets,dataframes = datasets[row],把两者统一为datasets。

4). Structured Streaming

Spark Streaming基于Spark SQL(DataFrame / Dataset )构建了high-level API,使得Spark Streaming充分受益Spark SQL的易用性和性能提升。

5). 其它特性

mllib 里的计算用 DataFrame-based API 代替以前的 RDD 计算逻辑,提供更多的 R 语言算法,默认使用 Scala 2.11 编译与运行。

参考资料:

https://www.shiyanlou.com/courses/809/labs/2835/document

猜你喜欢

转载自blog.csdn.net/happyzwh/article/details/82735137