淺談Apache Spark的6個發光點(CSDN)

  Spark是一個基於內存計算的開源集羣計算系統,目的是更快速的進行數據分析。Spark由加州伯克利大學AMP實驗室Matei爲主的小團隊使用Scala開發開發,其核心部分的代碼只有63個Scala文件,很是輕量級。 Spark 提供了與 Hadoop 類似的開源集羣計算環境,但基於內存和迭代優化的設計,Spark 在某些工做負載表現更優秀。算法

  在2014上半年,Spark開源生態系統獲得了大幅增加,已成爲大數據領域最活躍的開源項目之一,當下已活躍在Hortonworks、IBM、Cloudera、MapR和Pivotal等衆多知名大數據公司。那麼Spark究竟以什麼吸引瞭如此多的關注,這裏咱們看向Dzone上的6個總結。shell

1. 輕量級快速處理。機器學習

  着眼大數據處理,速度每每被置於第一位,咱們常常尋找能儘快處理咱們數據的工具。Spark容許Hadoop集羣中的應用程序在內存中以100倍的速度運行,即便在磁盤上運行也能快10倍。Spark經過減小磁盤IO來達到性能提高,它們將中間處理數據所有放到了內存中工具

 

  Spark使用了RDD(Resilient Distributed Dataset)的理念,這容許它能夠透明的內存中存儲數據,只在須要時才持久化到磁盤。這種作法大大的減小了數據處理過程當中磁盤的讀寫,大幅度的下降了所需時間。oop

2. 易於使用,Spark支持多語言。性能

  Spark容許Java、Scala及Python,這容許開發者在本身熟悉的語言環境下進行工做。它自帶了80多個高等級操做符,容許在shell中進行交互式查詢。學習

3. 支持複雜查詢。大數據

  在簡單的「map」及「reduce」操做以外,Spark還支持SQL查詢、流式查詢及複雜查詢,好比開箱即用的機器學習機圖算法。同時,用戶能夠在同一個工做流中無縫的搭配這些能力。優化

4. 實時的流處理。spa

  對比MapReduce只能處理離線數據,Spark支持實時的流計算。Spark依賴Spark Streaming對數據進行實時的處理,固然在YARN以後Hadoop也能夠藉助其餘的工具進行流式計算。對於Spark Streaming,Cloudera的評價是:

 

 

  • 簡單:輕量級且具有功能強大的API,Sparks Streaming容許你快速開發流應用程序。
  • 容錯:不像其餘的流解決方案,好比Storm,無需額外的代碼和配置,Spark Streaming就能夠作大量的恢復和交付工做
  • 集成爲流處理和批處理重用了一樣的代碼,甚至能夠將流數據保存到歷史數據中

 

5. 能夠與Hadoop和已存Hadoop數據整合。

  Spark能夠獨立的運行,除了能夠運行在當下的YARN集羣管理以外,它還能夠讀取已有的任何Hadoop數據。這是個很是大的優點,它能夠運行在任何Hadoop數據源上,好比HBase、HDFS等。這個特性讓用戶能夠輕易遷移已有Hadoop應用,若是合適的話。

6. 活躍和無限壯大的社區。

  Spark起源於2009年,當下已有超過50個機構250個工程師貢獻過代碼,和去年六月相比,代碼行數幾乎擴大三倍,這是個使人豔羨的增加。

相關文章
相關標籤/搜索