spark從入門到精通(一)
什麼是spark
大資料計算框架
離線批處理
大資料體系架構圖(spark)
spark包含了大資料領域常見的各種計算框架:比如spark core用於離線計算,spark sql用於互動式查詢,spark streaming用於實時流式計算,spark mlib用於機器學習,spark graphx用於圖計算
spark主要用於大資料的計算,而hadoop以後主要用於大資料的儲存(比如hdfs、hive、hbase)等,,以及資源排程(yarn)
spark+hadoop的組合是大資料領域最熱門的組合,也是最有前景的組合
spark與mapreduce計算過程,spark基於記憶體進行計算,所以速度更快
spark整體架構圖
spark的特點
速度快:基於記憶體進行計算(當然也有部分計算基於磁碟,比如shuffle)
容易上手開發:spark的基於rdd的計算模型,比hadoop的基於map-reduce的計算模型要更加易於理解,更加易於上手開發,實現各種複雜功能,比如二次排序,topn等複雜操作時,更加便捷
超強的通用性:spark提供了多種計算元件
整合hadoop:spark與hadoop進行了高度的繼承,完成double win
極高的活躍度
hive架構
spark sql實際上不能完全替代hive,以為hive是一種基於hdfs的資料倉儲,並且提供了基於sql模型的,針對儲存了大資料的資料倉儲,進行分布式互動查詢的查詢引擎
嚴格來講,spark sql能夠替代的,是hive的查詢引擎,而不是hive本身,spark本身是不提供儲存的,自然不能替代hive作為資料倉儲的這個功能
hive的查詢引擎,基於mapreduce,必須經過shuffle過程走磁碟,因此速度是非常緩慢的。spark基於記憶體,因此速度達到hive查詢引擎的數倍以上
spark sql相較hive的另乙個特點,就是支援大量不同的資料來源,包括hive、json、parquet、jdbc等等。此外,spark sql由於身處spark技術堆疊內,也是基於rdd來工作,因此可以與spark其他元件無縫整合使用。比如spark sql支援可以直接針對hdfs檔案執行sql語句
storm與spark對比
Spark從入門到精通 一 Spark架構
spark與mapreduce的區別 都是分布式計算框架,spark基於記憶體,mr基於hdfs。spark處理資料的能力一般是mr的十倍以上,spark中除了基於記憶體計算外,還有dag有向無環圖來切分任務的執行先後順序。spark主要分為三大部分 sparkcore 對非結構化資料的處理,rdd...
Nginx從入門到精通
1 nginx配置檔案載入機制 採用nginx s reload命令載入nginx的配置檔案,master程序讀取配置檔案,建立新的worker程序,向老的worker程序傳送shutdown命令。老的worker程序不再接受新的請求,待老的請求處理完成後,就會停掉。2 location匹配機制 當...
scrot 從入門到精通
無論是撰寫技術教程,還是展示桌面或應用,恐怕 scrot 都是必不可少的工具。scrot 是螢幕抓圖工具中的 皎皎 佼佼者,它小巧而不失為強大,精練而不缺少靈活。scrot 主要用在命令列下,它使用 imlib2 庫來抓取並儲存影象。在 ubuntu 中,可以使用sudo apt get insta...