【Spark】Spark2.x版的新特性
一、API
? ? 1. 出現新的上下文接口:SparkSession,統一了SQLContext和HiveContext,并且為SparkSession開發了新的流式調用的configuration API
? ? 2.?統一了DataFrame和DataSet。DataFrame相當于DataSet[Row],以及DataSet的增強聚合API
? ? 3. 增強了累加器accumulator的功能,支持Web UI,便捷的API,性能更高
二、SQL
? ? 1. 支持SQL2003標準
? ? 2. 支持ansi-sql 和hive ql的sql parser(SQL解析器)
? ? 3. 支持DDL,支持子查詢(in/not in 、 exists/ not exists)
三、性能
? ? 1. 通過whole-stage-code generation(全流程代碼生成)技術將SparkSQL和DataSet的性能提升了2~10倍。(在下一篇博文中會淺談全流程代碼生成技術)
? ? 2. 通過vectorization(向量化)技術提升parquet文件的掃描吞吐量
? ? 3. 提升orc文件的讀寫性能
? ? 4. 提升catalyst查詢優化器的性能
? ? 5. 通過native實現方式提升窗口函數的性能
四、 Spark Streaming
? ? 1. Structured Streaming在Spark2.0中是測試版,2.0之后是released版,它基于SparkSQL和Catalyst引擎構建,支持DataFrame風格的API進行流式計算。
? ? 2. 基于DStream的API支持kafka0.10版本
五、Spark MLlib
? ? 1.? 基于DataFrame的API支持持久化保存、加載模型、Pipeline,支持更多的算法,支持向量和矩陣使用性能更高的序列化機制。
? ? 2.? Spark R支持MLlib算法,包括線性回歸、樸素貝葉斯等
? ? 3. 未來Spark MLlib將主要基于DataSet API來實現,基于RDD和API將轉為維護階段
六、Other
? ? 1. 支持csv文件
? ? 2. 支持hive風格的bucket表
? ? 3. 支持緩存和程序運行的堆外內存管理
? ? 4. 完全移除了對akka的依賴
? ? 5. 使用Scala2.11代替了Scala2.10,要求基于Scala2.11版本進行開發,而不是Scala2.10
? ? 6. Mesos粗粒度模式下,支持啟動多個Executor
????
?
轉載于:https://www.cnblogs.com/snova/p/9195693.html
總結
以上是生活随笔為你收集整理的【Spark】Spark2.x版的新特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10安装docker并结合Idea
- 下一篇: 生成器/迭代器 和 函数的递归