開源集群計算環境,Spark 1.1.0 發布

jopen 10年前發布 | 17K 次閱讀 Spark

Spark 1.1.0 發布,該版本帶來了一些操作性和性能的提升,主要是體現在核心模塊上。同時增加新的庫 MLlib 和 Spark SQL。支持 Python ,增加新的組件到 Spark 流模塊。其他改進和完整介紹內容請看發行說明

Spark是發源于美國加州大學伯克利分校AMPLab的集群計算平臺。它立足于內存計算,從多迭代批量處理出發,兼收并蓄數據倉庫、流處理和圖計算等多種計算范式,是罕見的全能選手。 Spark如其名,展現了大數據不常見的“電光石火”。具體特點概括為“輕、快、靈和巧”。開源集群計算環境,Spark 1.1.0 發布

  • :Spark 0.6核心代碼有2萬行,Hadoop 1.0為9萬行,2.0為22萬行。一方面,感謝Scala語言的簡潔和豐富表達力;另一方面,Spark很好地利用了Hadoop和Mesos(伯克利 另一個進入孵化器的項目,主攻集群的動態資源管理)的基礎設施。雖然很輕,但在容錯設計上不打折扣。主創人Matei聲稱:“不把錯誤當特例處理。”言下 之意,容錯是基礎設施的一部分。
  • :Spark對小數據集能達到亞秒級的延遲,這對于Hadoop MapReduce(以下簡稱MapReduce)是無法想象的(由于“心跳”間隔機制,僅任務啟動就有數秒的延遲)。就大數據集而言,對典型的迭代機器 學習、即席查詢(ad-hoc query)、圖計算等應用,Spark版本比基于MapReduce、Hive和Pregel的實現快上十倍到百倍。其中內存計算、數據本地性 (locality)和傳輸優化、調度優化等該居首功,也與設計伊始即秉持的輕量理念不無關系。
  • :Spark提供了不同層面的靈活性。在實現層,它完美演繹了Scala trait動態混入(mixin)策略(如可更換的集群調度器、序列化庫);在原語(Primitive)層,它允許擴展新的數據算子 (operator)、新的數據源(如HDFS之外支持DynamoDB)、新的language bindings(Java和Python);在范式(Paradigm)層,Spark支持內存計算、多迭代批量處理、即席查詢、流處理和圖計算等多種 范式。
  • :巧在借勢和借力。Spark借Hadoop之勢,與Hadoop無縫結合;接著Shark(Spark上的數據倉庫實現)借了Hive的勢;圖計算借 用Pregel和PowerGraph的API以及PowerGraph的點分割思想。一切的一切,都借助了Scala(被廣泛譽為Java的未來取代 者)之勢:Spark編程的Look'n'Feel就是原汁原味的Scala,無論是語法還是API。在實現上,又能靈巧借力。為支持交互式編 程,Spark只需對Scala的Shell小做修改(相比之下,微軟為支持JavaScript Console對MapReduce交互式編程,不僅要跨越Java和JavaScript的思維屏障,在實現上還要大動干戈)。
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!