1. 程式人生 > >Spark2.0 一些新特性

Spark2.0 一些新特性

一 變化

① 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

  1. 支援 sql 2003標準
  2. 支援ddl命令
  3. 支援ansi-sql和hive sql的sql parser
  4. 支援子查詢 : in/not in 、exists/not exists

③ SparkCore & Spark SQL new Feature

  1. 支援csv檔案
  2. 支援快取和程式執行的堆外記憶體管理
    3.看官網去吧。

Spark Core Spark SQL 效能?

1、通過whole-stage code generation 技術將spark sql和dataset 的效能提升 2~10倍
2、 通過 vectorization 技術提升parquet檔案的掃描吞吐量
3、 提升orc檔案讀寫效能

④ SparkStreaming

Structured Streaming

  1. 基於spark sql和catalyst引擎構建
  2. 支援使用dataframe風格的api進行流式計算

⑤依賴管理 打包和操作

  1. 不需要在生產部署時打包fat jar(可以不打spark相關依賴jar包),可以使用provided風格
  2. 完全移除了akka的依賴 換 netty
  3. 支援kryo3.0版本
  4. 使用scala 2.11 替代了scala2.10
  5. spark 1.x中標識為過期的所有api
  6. hash-based shuffle manager