1. 程式人生 > >Apache Spark 2.2.0新特性介紹(轉載)

Apache Spark 2.2.0新特性介紹(轉載)

端到端 clas flat ket 性能 保序回歸 rime day 工作

這個版本是 Structured Streaming 的一個重要裏程碑,因為其終於可以正式在生產環境中使用,實驗標簽(experimental tag)已經被移除。在流系統中支持對任意狀態進行操作;Apache Kafka 0.10 的 streaming 和 batch API支持讀和寫操作。除了在 SparkR, MLlib 和 GraphX 裏面添加新功能外,該版本更多的工作在系統的可用性(usability)、穩定性(stability)以及代碼的潤色(polish)並解決了超過 1100 個tickets。

這篇文章中將詳細介紹這些新特性,包括:

  • Structured Streaming的生產環境支持已經就緒;
  • 擴展 SQL 的功能;
  • R 中引入了新的分布式機器學習算法;
  • MLlib 和 GraphX 中添加了新的算法

Structured Streaming

Structured Streaming 是從 Spark 2.0 開始引入的,其提供了高層次的API來構建流應用程序;目的是提供一種簡單的方式來構建端到端的流應用程序(end-to-end streaming applications),提供了一致性保證和容錯方式。

從 Spark 2.2.0 開始,Structured Streaming 已經為生產環境的支持準備就緒,除了移除了實驗性標簽,還包括了一些高層次的變化,比如:

  • Kafka Source and Sink:
    Apache Kafka 0.10 的 streaming 和 batch API支持讀和寫操作;
  • Kafka Improvements: Kafka 到 Kafka 流操作中的producer 支持緩存以實現低延遲;
  • Additional Stateful APIs: [flat]MapGroupsWithState 操作支持復雜的狀態處理以及超時處理;
  • Run Once Triggers:詳情:Running Streaming Jobs Once a Day For 10x Cost Savings

SQL 和 Core APIs

自從 Spark 2.0 發布,Spark 已經成為大數據領域中功能最豐富並且符合標準的SQL查詢引擎之一。它可以連接各種數據源,並且可以在這些數據上執行 SQL-2003 標準語句,包括分析函數以及子查詢。Spark 2.2 還添加了許多 SQL 新功能,包括:

  • API 更新: 統一了數據源和hive serde表的 CREATE TABLE 語法;SQL查詢支持廣播提示(broadcast hints )比如BROADCAST, BROADCASTJOIN, 以及 MAPJOIN;
  • 總體性能和穩定性:
    • filter、join、aggregate、project 以及 limit/sample 操作支持基於成本優化器的基數統計(Cost-based optimizer cardinality estimation);
    • 使用星型啟發式(star-schema heuristics)來提升 TPC-DS 性能;
    • CSV 和 JSON 文件 listing/IO 性能提升;
    • HiveUDAFFunction 支持部分集合;
    • 引入基於JVM對象的聚合運算符
  • 其他值得關註的改變:
    • 支持解析多行的JSON 和 CSV 文件
    • 分析分區表的命令

MLlib 和 SparkR

Spark 2.2.0 的最後一大變化主要集中在高級分析,MLlib 和 GraphX 添加了以下的新算法:

  • 局部敏感哈希(Locality Sensitive Hashing)
  • 多級邏輯回歸(Multiclass Logistic Regression)
  • 個性化PageRank(Personalized PageRank)

Spark 2.2.0還在 SparkR 中添加了以下分布式算法:

  • 交替最小二乘(ALS,Alternating Least Squares )
  • 保序回歸(Isotonic Regression)
  • 多層感知分類器(Multilayer Perceptron Classifier)
  • 隨機森林(Random Forest)
  • 高斯混合模型(Gaussian Mixture Model)
  • 線性判別式分析(Linear Discriminant Analysis, LDA)
  • 多級邏輯回歸(Multiclass Logistic Regression)
  • 梯度提升樹(Gradient Boosted Trees)
  • Structured Streaming API 支持 R 語言
  • R 中支持 to_json, from_json
  • 支持Multi-column approxQuantile

隨著這些算法的增加,SparkR已經成為 R 中最全面的分布式機器學習庫。

該文轉載自 https://www.iteblog.com/archives/2194.html

英文原文參考 https://databricks.com/blog/2017/07/11/introducing-apache-spark-2-2.html

Apache Spark 2.2.0新特性介紹(轉載)