{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

Spark和Hadoop對于大數據的關系?

娣辯孩娣辯孩 回答0 收藏1
收藏問題

3條回答

Cruise_Chan

Cruise_Chan

回答于2022-06-28 15:02

Hadoop生態



Apache?Hadoop?項目開發了用于可靠,可擴展的分布式計算的開源軟件。

Apache Hadoop軟件庫是一個框架,該框架允許使用簡單的編程模型跨計算機集群對大型數據集進行分布式處理。 它旨在從單個服務器擴展到數千臺機器,每臺機器都提供本地計算和存儲。 庫本身不是設計用來依靠硬件來提供高可用性,而是設計為在應用程序層檢測和處理故障,因此可以在計算機集群的頂部提供高可用性服務,而每臺計算機都容易出現故障。

1、hadoop1.0時期架構



2、hadoop2.0時期架構



3、hdfs架構



Active Namenode

主 Master(只有一個),管理 HDFS 的名稱空間,管理數據塊映射信息;配置副本策略;處理客戶端讀寫請求

Secondary NameNode

NameNode 的熱備;定期合并 fsimage 和 fsedits,推送給 NameNode;當 Active NameNode 出現故障時,快速切換為新的 Active NameNode。

Datanode

Slave(有多個);存儲實際的數據塊;執行數據塊讀 / 寫

Client

與 NameNode 交互,獲取文件位置信息;與 DataNode 交互,讀取或者寫入數據;管理 HDFS、訪問 HDFS。

4、MapReduce

源自于 Google 的 MapReduce 論文

發表于 2004 年 12 月

Hadoop MapReduce 是 Google MapReduce 克隆版

MapReduce特點

良好的擴展性

高容錯性

適合 PB 級以上海量數據的離線處理

5、yarn架構



6、hadoop1.0與hadoop2.0比較圖



7、Hive(基于MR的數據倉庫)

由Facebook開源,最初用于海量結構化日志數據統計;ETL(Extraction-Transformation-Loading)工具構建在Hadoop之上的數據倉庫;數據計算使用 MapReduce,數據存儲使用HDFS

Hive 定義了一種類 SQL 查詢語言——HQL

類似SQL,但不完全相同

通常用于進行離線數據處理(采用 MapReduce);可認為是一個 HQL→MR 的語言翻譯器

8、Hbase(分布式數據庫)

源自 Google 的 Bigtable 論文

發表于 2006 年 11 月

Hbase 是 Google Bigtable 克隆版

Spark


Apache Spark是用于大規模數據處理的統一分析引擎。 它提供Java,Scala,Python和R中的高級API,以及支持常規執行圖的優化引擎。 它還支持豐富的高級工具集,包括用于SQL和結構化數據處理的Spark SQL,用于機器學習的MLlib,用于圖形處理的GraphX和用于增量計算和流處理的結構化流。

速度

運行工作負載的速度提高了100倍。

Apache Spark使用最新的DAG調度程序,查詢優化器和物理執行引擎,為批處理數據和流數據提供了高性能。

使用方便

使用Java,Scala,Python,R和SQL快速編寫應用程序。

Spark提供了80多個高級操作員,可輕松構建并行應用程序。 您可以從Scala,Python,R和SQL Shell交互使用它。

通用

結合使用SQL,流和復雜的分析。

Spark為包括SQL和DataFrames,用于機器學習的MLlib,GraphX和Spark Streaming在內的一堆庫提供支持。 您可以在同一應用程序中無縫組合這些庫。

無處不在

Spark可在Hadoop,Apache Mesos,Kubernetes,獨立或云中運行。 它可以訪問各種數據源。

您可以在EC2,Hadoop YARN,Mesos或Kubernetes上使用其獨立集群模式運行Spark。 訪問HDFS,Alluxio,Apache Cassandra,Apache HBase,Apache Hive和數百種其他數據源中的數據。

評論0 贊同0
  •  加載中...
yagami

yagami

回答于2022-06-28 15:02

1)hadoop簡介

Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。 Hadoop實現了一個分布式文件系統HDFS。HDFS有高容錯性的特點,并且設計用來部署在低廉的硬件上;而且它提供高吞吐量來訪問應用程序的數據,適合那些有著超大數據集的應用程序。Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,而MapReduce則為海量的數據提供了計算

2)hadoop優點

Hadoop 以一種可靠、高效、可伸縮的方式進行數據處理。

可靠性: Hadoop將數據存儲在多個備份,Hadoop提供高吞吐量來訪問應用程序的數據。

高擴展性: Hadoop是在可用的計算機集簇間分配數據并完成計算任務的,這些集簇可以方便地擴展到數以千計的節點中。

高效性: Hadoop以并行的方式工作,通過并行處理加快處理速度。

高容錯性: Hadoop能夠自動保存數據的多個副本,并且能夠自動將失敗的任務重新分配。

低成本: Hadoop能夠部署在低廉的(low-cost)硬件上。

1)spark簡介

Spark 是專為大規模數據處理而設計的快速通用的計算引擎。Spark擁有Hadoop MapReduce所具有的優點,Spark在Job中間輸出結果可以保存在內存中,從而不再需要讀寫HDFS,因此Spark性能以及運算速度高于MapReduce。

2)spark優點

計算速度快: 因為spark從磁盤中讀取數據,把中間數據放到內存中,,完成所有必須的分析處理,將結果寫回集群,所以spark更快。

Spark 提供了大量的庫: 包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。

支持多種資源管理器: Spark 支持 Hadoop YARN,及其自帶的獨立集群管理器

操作簡單: 高級 API 剝離了對集群本身的關注,Spark 應用開發者可以專注于應用所要做的計算本身

1)應用場景不同

Hadoop和Spark兩者都是大數據框架,但是各自應用場景是不同的。Hadoop是一個分布式數據存儲架構,它將巨大的數據集分派到一個由普通計算機組成的集群中的多個節點進行存儲,降低了硬件的成本。Spark是那么一個專門用來對那些分布式存儲的大數據進行處理的工具,它要借助hdfs的數據存儲。

2)處理速度不同

hadoop的MapReduce是分步對數據進行處理的,從磁盤中讀取數據,進行一次處理,將結果寫到磁盤,然后在從磁盤中讀取更新后的數據,再次進行的處理,最后再將結果存入磁盤,這存取磁盤的過程會影響處理速度。spark從磁盤中讀取數據,把中間數據放到內存中,,完成所有必須的分析處理,將結果寫回集群,所以spark更快。

3)容錯性不同

Hadoop將每次處理后的數據都寫入到磁盤上,基本談不上斷電或者出錯數據丟失的情況。Spark的數據對象存儲在彈性分布式數據集 RDD,RDD是分布在一組節點中的只讀對象集合,如果數據集一部分丟失,則可以根據于數據衍生過程對它們進行重建。而且RDD 計算時可以通過 CheckPoint 來實現容錯。

Hadoop提供分布式數據存儲功能HDFS,還提供了用于數據處理的MapReduce。 MapReduce是可以不依靠spark數據的處理的。當然spark也可以不依靠HDFS進行運作,它可以依靠其它的分布式文件系統。但是兩者完全可以結合在一起,hadoop提供分布式 集群和分布式 文件系統,spark可以依附在hadoop的HDFS代替MapReduce彌補MapReduce計算能力不足的問題。

總結一句話:spark在hadoop肩膀上可以讓大數據跑的更快

評論0 贊同0
  •  加載中...
IntMain

IntMain

回答于2022-06-28 15:02

早期Hadoop指的hdfs+mapreduce,后來衍生為整個大數據生態。

大數據生態從底層往上是分布式文件存儲,分布式數據庫,分布式計算(實時+離線),檢索,資源管理,任務調度,以及周邊工具。

從上可以看出,spark只是Hadoop生態中的一個小分支。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<