什麼是 Spark 為什麼存在 Spark

2021-10-25 05:06:46 字數 861 閱讀 8186

spark(計算引擎)

apache spark 是專為大規模資料處理而設計的快速通用的計算引擎。spark是uc berkeley amp lab (加州大學伯克利分校的amp實驗室)所開源的類hadoop mapreduce的通用並行框架,spark,擁有hadoop mapreduce所具有的優點;但不同於mapreduce的是——job中間輸出結果可以儲存在記憶體中,從而不再需要讀寫hdfs,因此spark能更好地適用於資料探勘與機器學習等需要迭代的mapreduce的演算法。

spark 是一種與 hadoop 相似的開源集群計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 spark 在某些工作負載方面表現得更加優越,換句話說,spark 啟用了記憶體分布資料集,除了能夠提供互動式查詢外,它還可以優化迭代工作負載。

spark 是在 scala 語言中實現的,它將 scala 用作其應用程式框架。與 hadoop 不同,spark 和 scala 能夠緊密整合,其中的 scala 可以像操作本地集合物件一樣輕鬆地操作分布式資料集。

儘管建立 spark 是為了支援分布式資料集上的迭代作業,但是實際上它是對 hadoop 的補充,可以在 hadoop 檔案系統中並行執行。通過名為 mesos 的第三方集群框架可以支援此行為。spark 由加州大學伯克利分校 amp 實驗室 (algorithms, machines, and people lab) 開發,可用來構建大型的、低延遲的資料分析應用程式。

第一,mapreduce 模型的抽象層次低,大量的底層邏輯都需要開發者手工完成

第二,只提供 map 和 reduce 兩個操作

第三,在hadoop中,每個job的計算結果都會儲存在 hdfs檔案儲存系統中,所以每一步計算都要進行硬碟的讀取和寫入,大大增加了系統的延遲

為什麼使用Spark

apache spark是乙個集群計算引擎,它抽象了底層分布式儲存和集群管理,使它可以插入plugin大量的專門的儲存和集群管理工具。spark支援hdfs,cassandra,local storage,s3,甚至傳統的關聯式資料庫作為儲存層,也可以和集群管理工具yarn,mesos一起工作,相對...

為什麼MIP Cache存在

cdn content delivery network 加速原理,簡單來說就是在不同地點建立內容快取節點。通過負載均衡技術,將使用者的請求定向到最合適的快取伺服器上去獲取內容。快取靜態檔案帶來最大的好處是避免從不同網域名稱下讀取靜態檔案,使用同源策略減少 dns 解析時間,能夠加速載入速度。頁面預...

為什麼是 pgsql ?

postgresql在國外很流行 在日本是僅次於apache的開源軟體 pgsql 使用程序 postgresql資料庫是多程序的架構.每乙個客戶連線都有乙個服務程序為其進行服務,也有共享記憶體,這一點是與orancle資料庫是相似的.postgresql使用一種客戶端 伺服器的模式.乙個伺服器程序...