1. 程式人生 > >Spark2.x 與 Spark1.x 關系

Spark2.x 與 Spark1.x 關系

性能提升 courses structure tex data frame datasets 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

Spark2.x 與 Spark1.x 關系