Spark從入門到精通(一)


什么是Spark

  1. 大數據計算框架

  2. 離線批處理

  3. 大數據體系架構圖(Spark)

  4. Spark包含了大數據領域常見的各種計算框架:比如Spark Core用於離線計算,Spark SQL用於交互式查詢,Spark Streaming用於實時流式計算,Spark MLib用於機器學習,Spark GraphX用於圖計算

  5. Spark主要用於大數據的計算,而Hadoop以后主要用於大數據的存儲(比如HDFS、Hive、HBase)等,,以及資源調度(Yarn)

  6. Spark+hadoop的組合是大數據領域最熱門的組合,也是最有前景的組合

  7. Spark與MapReduce計算過程,Spark基於內存進行計算,所以速度更快

  8. Spark整體架構圖

Spark的特點

  1. 速度快:基於內存進行計算(當然也有部分計算基於磁盤,比如shuffle)
  2. 容易上手開發:Spark的基於RDD的計算模型,比Hadoop的基於Map-Reduce的計算模型要更加易於理解,更加易於上手開發,實現各種復雜功能,比如二次排序,topn等復雜操作時,更加便捷
  3. 超強的通用性:Spark提供了多種計算組件
  4. 集成Hadoop:Spark與Hadoop進行了高度的繼承,完成double win
  5. 極高的活躍度

Hive架構

  1. Spark SQL實際上不能完全替代Hive,以為Hive是一種基於HDFS的數據倉庫,並且提供了基於SQL模型的,針對存儲了大數據的數據倉庫,進行分布式交互查詢的查詢引擎
  2. 嚴格來講,Spark SQL能夠替代的,是Hive的查詢引擎,而不是Hive本身,Spark本身是不提供存儲的,自然不能替代Hive作為數據倉庫的這個功能
  3. Hive的查詢引擎,基於MapReduce,必須經過shuffle過程走磁盤,因此速度是非常緩慢的。Spark基於內存,因此速度達到Hive查詢引擎的數倍以上
  4. Spark SQL相較Hive的另一個特點,就是支持大量不同的數據源,包括Hive、json、parquet、jdbc等等。此外,Spark SQL由於身處Spark技術堆棧內,也是基於RDD來工作,因此可以與Spark其他組件無縫整合使用。比如Spark SQL支持可以直接針對hdfs文件執行sql語句

Storm與Spark對比


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM