開啟Hadoop和Spark的學習之路

2022-07-23 19:51:13 字數 1525 閱讀 1139

hadoop是乙個由apache**會所開發的分布式系統基礎架構。

使用者可以在不了解分布式底層細節的情況下,開發分布式程式。充分利用集群的威力進行高速運算和儲存。

hadoop實現了乙個分布式檔案系統(hadoop distributed file system),簡稱hdfs。hdfs有高容錯性的特點,並且設計用來部署在低廉的(low-cost)硬體上;而且它提供高吞吐量(high throughput)來訪問應用程式的資料,適合那些有著超大資料集(large data set)的應用程式。hdfs放寬了(relax)posix的要求,可以以流的形式訪問(streaming access)檔案系統中的資料。

hadoop的框架最核心的設計就是:hdfs和mapreduce。hdfs為海量的資料提供了儲存,而mapreduce則為海量的資料提供了計算。

hadoop是乙個能夠讓使用者輕鬆架構和使用的分布式計算平台。使用者可以輕鬆地在hadoop上開發和執行處理海量資料的應用程式。它主要有以下幾個優點:

高可靠性。hadoop按位儲存和處理資料的能力值得人們信賴。

高擴充套件性。hadoop是在可用的計算機集簇間分配資料並完成計算任務的,這些集簇可以方便地擴充套件到數以千計的節點中。

高效性。hadoop能夠在節點之間動態地移動資料,並保證各個節點的動態平衡,因此處理速度非常快。

高容錯性。hadoop能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新分配。

低成本。與一體機、商用資料倉儲以及qlikview、yonghong z-suite等資料集市相比,hadoop是開源的,專案的軟體成本因此會大大降低。

apache spark 是專為大規模資料處理而設計的快速通用的計算引擎。spark是類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 的第三方集群框架可以支援此行為。

首先,高階 api 剝離了對集群本身的關注,spark 應用開發者可以專注於應用所要做的計算本身。

其次,spark 很快,支援互動式計算和複雜演算法。

最後,spark 是乙個通用引擎,可用它來完成各種各樣的運算,包括 sql 查詢、文字處理、機器學習等,而在 spark 出現之前,我們一般需要學習各種各樣的引擎來分別處理這些需求。

Hadoop 和 Spark 的異同

談到大資料,相信大家對hadoop和apache spark這兩個名字並不陌生。但我們往往對它們的理解只是提留在字面上,並沒有對它們進行深入的思考,下面不妨跟我一塊看下它們究竟有什麼異同。首先,hadoop和apache spark兩者都是大資料框架,但是各自存在的目的不盡相同。hadoop實質上更...

hadoop和spark的異同

解決問題的層面不一樣 首先,hadoop和apache spark兩者都是大資料框架,但是各自存在的目的不盡相同。hadoop實質上更多是乙個分布式資料基礎設施 它將巨大的資料集分派到乙個由普通計算機組成的集群中的多個節點進行儲存,意味著您不需要購買和維護昂貴的伺服器硬體。同時,hadoop還會索引...

Hadoop和Spark的異同

談到大資料,相信大家對hadoop和apache spark這兩個名字並不陌生。但我們往往對它們的理解只是提留在字面上,並沒有對它們進行深入的思考,下面不妨跟我一塊看下它們究竟有什麼異同。解決問題的層面不一樣 首先,hadoop和apache spark兩者都是大資料框架,但是各自存在的目的不盡相同...