hadoop和大資料的關係?和spark的關係?

時間 2021-05-06 14:58:19

1樓:

(我要來裝b了)hadoop生態提供了一些解決大資料問題的元件

分布式儲存系統HDFS(提供高可靠性,高擴充套件性,高吞吐率的資料儲存服務)

分布式計算框架MapReduce(高容錯,高擴充套件)

資源管理系統YARN(資源管理,任務排程)

還有其他亂七八糟的什麼zookeeper、hbase、ambari、spark、pig、、、、、8說了

然後我已經兩年的安裝配置搭建Hadoop的集群了,什麼core-site.xml,hadoop-env.sh、、、、、、也是8說了配到我頭都要掉了

hadoop和spark

spark代替了Hadoop的一部分==>mapreduce和hive的查詢引擎

spark本身不提供大資料的儲存。

2樓:歐路

第一次覺得知乎竟然某個問題的前幾名答案答的都如此之爛,要不就是直接複製貼上沒邊沒跡,要不就是做廣告,要不就是還不如不看。

3樓:Kim Young

舉個例子

由於現在網際網路公司資料規模量的擴充套件,以MySQL這種資料庫很快就超過了千萬,再優化也就只能分表分庫了,這樣是不是還是顯得麻煩,這時候分布式作用就提現了,他告訴你只要擴充套件節點就能更容納更多資料了。

Hadoop權威指南裡也說了,當貨物量增多,是養更強壯的馬來拉貨更容易還是用更多的馬來拉貨更容易,顯然是後者。這就是分布式的思路,而Hadoop集分布式儲存、管理為依託,打造了開源大資料平台,而Spark是什麼呢?Spark是Hadoop中另乙個計算模式MapReduce的改進版,Hadoop在做ETL表處理時,他的shuffle過程每做一次都要將中間過程持久化下來,後來Spark根據這種規則特點將中間過程在記憶體中進行迭代計算,這樣計算速度將大幅提高。

Spark以其記憶體迭代思想,提供豐富的開源API介面,實現各種場景的大資料批處理計算,由於Spark本身就是Scala寫的,配合Scala函式式程式設計開發風味尤佳。之所以選用函式式,是因為函式式在資料流的處理是比命令式的更符合資料流的特性。比如SQL就是經典的函式式程式語言。

4樓:青牛

hadoop和spark都是學習大資料開發必學的技能。

兩者在大資料應用當中都啟著非常重要的作用。Hadoop在大資料分析中被廣泛應用,也可以與Spark相結合提高其實時計算分析能力。

第一,Hadoop 和Spark 兩者都是大資料中常用的框架,但解決問題的層面和方向有所不同。Hadoop更多是乙個分布式資料基礎設施,將巨大的資料集分派到乙個由普通計算機組成的集群中的多個節點進行儲存,節省了硬體成本 ,而Spark,則是那麼乙個專門用來對那些分布式儲存的大資料進行處理的工具,依賴於分布式資料儲存。

第二, Spark要比Hadoop的MapReduce計算速度快很多。Spark會在記憶體中以接近「實時」的時間完成所有的資料分析,從集群中讀取資料,完成所有必須的分析處理,將結果寫回集群。對於動態資料實時分析而言,Spark要比Hadoop效能較為優越。

比如實時的市場活動、網路安全分析等方面的應用。

5樓:

首先,要明白大資料的概念,簡單來說,大資料就是超過單機尺度的資料,在處理大資料時,一般的傳統資料處理軟體不足以應付大量級和複雜的資料集,Hadoop就是在這種情況而誕生的。

在處理大資料之前,首先要存下大資料。Hadoop Distributed File System (HDFS)是Hadoop的主要元件之一,被設計成適合執行在通用硬體(commodity hardware)上的分布式檔案系統,能夠讓大量的資料分布式地儲存到成千上百臺機器。存下資料之後,就可以開始分析處理資料了,單機處理顯然不現實,所以出現了MapReduce、Spark、Tez等計算引擎,我們通常拿Spark和MapReduce作比較,在處理速度上面,Spark有天然的優勢,Spark 每次將處理過程載入到記憶體之中,然後該操作作為快取一直保持在記憶體中直到下一步操作。

但是當涉及單次讀取、類似 ETL操作的任務,比如資料轉化、資料整合等時,MapReduce 是更優的選擇。有了計算引擎,但是我們還會嫌它們使用起來太麻煩,要實現各種介面,我們想要更友好的語言來做計算,於是就有了Hive、Pig、SparkSQL等。計算問題解決了,但是需要給這麼多不同的任務分配資源,於是就有了Yarn。

隨著各種各樣工具的出現,Hadoop已經慢慢成為乙個大資料生態圈。

總而言之,Hadoop或者說Hadoop生態圈,是為了解決大資料應用場景而出現的,它包含了檔案系統、計算框架、排程系統等,Spark是Hadoop生態圈裡的一種分布式計算引擎。

6樓:岳過山丘

推薦這篇文章,詳細介紹了hadoop 和spark差異,重點介紹了spark的shuffle。

7樓:李濤

Hadoop是乙個基礎平台,儲存有HDFS、資源排程有YARN、計算引擎有內建的MapReduce(跑在YARN上),Hadoop的HDFS、YARN是大資料系統的底層元件。

對於Spark,我從以下角度理解:

1. 是一種記憶體計算引擎,與MR是競爭關係,但效率比MR高。

2. 需要外部的資源排程系統來支援,可以跑在YARN上,也可以跑在Mesos上,當然可以用Standalone模式。

3. Spark核心計算引擎外圍有若干資料分析元件,Spark SQL(SQL介面)、Spark Streaming(流計算)、MLlib(機器學習)、GraphX(圖計算),「One Stack to rule them all」。

總體來說,Spark是跑在Hadoop上(依賴YARN和HDFS)的記憶體計算引擎,內建多種豐富元件,可以處理資料分析各個領域的問題。

8樓:張喆

轉一下馬鐵教授本人的回答:

Matei Zaharia's answer to Will Apache Spark ever overtake Apache Hadoop?

我自己的答案:

回答這類問題我們首先應該區分MapReduce,Apache Hadoop系統,和Hadoop生態圈

MapReduce是和Spark並行的概念,兩者都是計算引擎。兩者的比較可以參見 Reynold Xin's answer to When is Hadoop MapReduce better than Spark? 。

我傾向於這樣總結:Spark通過lineage這個核心思想實現了基於記憶體的輕量的容錯機制,取代了MR保守硬碟資料冗餘

Apache Hadoop系統其實就像乙個作業系統。主要包含HDFS -相當於Linux下面的ext3,ext4,和Yarn - 相當於Linux下面的程序排程和記憶體分配模組。

Hadoop生態圈包括Apache Hadoop以及更上層的應用。在Spark/MapReduce這一層計算引擎上面,還可以加Hive來做SQL,各種流處理應用,等等。比如Hive就有on MapReduce和on Spark兩個版本。

Spark不完全屬於Hadoop生態圈,它也可以脫離Apache Hadoop。比如用紅帽的Gluster FS做檔案系統,Mesos做排程。但是從現在的情況來看它主要還是乙個Hadoop應用。

比如最近打破TeraSort紀錄(Spark officially sets a new record in large-scale sorting)就是基於HDFS做的。

大資料這個概念就模糊多了。但我覺得最起碼可以很安全的說 大部分的大資料應用執行在Hadoop生態圈裡

9樓:zw cao

hadoop側重離線的批處理而在應付流計算和迭代計算上略顯不足,因為hadoop的每次運算結果都要寫入檔案系統,下次計算重新從檔案系統讀進來,這就造成很大的IO開銷,

spark採用RDD的分布式記憶體抽象,是一棧的大資料解決方案,包括spark core、spark streaming、spark sql、mllib,目的是不是補充hadoop 而是取而代之

還有乙個比較關注的是spark的資料庫,乙個基於取樣的資料庫,可以在精度和效率上面權衡

10樓:Tony lee

相同的面料,都是基於MapReduce實現分布式計算,可能在面料選取(架構)或個別針線活上稍有些技巧性的區別。 Spark的實現略不同於Hadoop的是,Job中間輸出和結果可以儲存在記憶體中,從而不再需要讀寫HDFS,因此Spark能更好地適用於資料探勘與機器學習等需要迭代的MapReduce的演算法。

11樓:Findhy

大資料這個概念很寬泛,就類似於什麼PC時代、網際網路、移動網際網路再到現在的大資料時代,一種技術不斷發展的時代浪潮而已,定義有很多,我認為可以這樣定義:以資料為中心更加精準的服務。你能想象到很多例子,如果不知道的話可以看《大資料時代》這本書。

而Hadoop、Spark都是處理大資料的一種技術手段,Spark由於是在記憶體中計算,速度要更快一些。還有很多其它處理大資料的方式,技術沒有最好只有最合適的。

Hadoop大資料和Oracle傳統數倉兩個offer,選哪個?

加公尺谷大資料 Hadoop,如今大資料的使用與需求日益廣泛,而hadoop體系所擁有的生態系列是Oracle所缺乏的,未來還會需要處理越來越多的資料,自然是Hadoop更有優勢,未來的發展也會更好。 小頭爸爸 必須選 Hadoop,目前資料倉儲基本上都是往大資料方向發展,Hadoop 就是個選擇。...

相比於傳統 BI,基於 Hadoop 的大資料(Big Data)戰略有何不同?

網感至察 網感至察 上半場的大資料你知道了,下半場的資料治理你聽過嗎?網感至察 主資料管理及應用介紹 網感至察 醫藥企業如何治理髒資料 不懂 兩者之間不是對立的吧,hadoop出初步聚合結果,存到關聯式資料庫,該查詢查詢,該搭報表伺服器搭伺服器,增強了傳統資料倉儲儲存處理大量資料的能力。基於大資料的...

大資料分析和大資料研發的區別?

Rorschach 比較常見的情況下,大資料分析這種強調的是從複雜的資料和關係裡面尋找關係 趨勢等等顯著地統計量來給決策提供資訊支援的。比較強調的能力是公司所在行業的領域知識,資料分析能力,對資料的敏感程度,資料視覺化技術,溝通能力特別是面向非技術職能人員的共同能力。大資料開發人員有一部分是做資料平...