開源分布式計算系統,Spark 1.2 發布
Spark 是一種與 Hadoop 相似的開源集群計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化迭代工作負載。
Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數據集。
盡 管創建 Spark 是為了支持分布式數據集上的迭代作業,但是實際上它是對 Hadoop 的補充,可以在 Hadoo 文件系統中并行運行。通過名為 Mesos 的第三方集群框架可以支持此行為。Spark 由加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發,可用來構建大型的、低延遲的數據分析應用程序。
=Spark 1.2.0于美國時間2014年12月18日發布,Spark 1.2.0兼容Spark 1.0.0和1.1.0,也就是說不需要修改代碼即可用,很多默認的配置在Spark 1.2發生了變化
1、spark.shuffle.blockTransferService由nio改成netty
2、spark.shuffle.manager由hash改成sort
3、在PySpark中,默認的batch size改成0了,
4、Spark SQL方面做的修改:
spark.sql.parquet.cacheMetadata: false -> true
spark.sql.parquet.compression.codec: snappy -> gzip
spark.sql.hive.convertMetastoreParquet: false -> true
spark.sql.inMemoryColumnarStorage.compressed: false -> true
spark.sql.inMemoryColumnarStorage.batchSize: 1000 -> 10000
spark.sql.autoBroadcastJoinThreshold: 10000 -> 10485760 (10 MB)
詳情:
Spark 1.2.0是1.X線上的第三個版本。
該版本的core模塊在操作和表現等方面帶來了很大的提升。其中包括了特地為傳輸非常大的shuffle而設計的network傳輸子系統。
Spark SQL模塊引進了操作外部數據源的API,對Hive
0.13的支持,動態分區的支持以及固定精度的decimal類型。MLlib模塊添加了新的pipeline-oriented package
(spark.ml) for composing multiple algorithms。Spark Streaming添加了Python
API,為容錯而開發的寫前日志。最后,GraphX 從alpha 版升級到穩定版,并且在性能方面有所提升。
更多內容請看發行說明,現已提供下載。