偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

大數(shù)據(jù)框架Hadoop主要模塊介紹

大數(shù)據(jù) Hadoop
本文涉及到的所有模塊,都是屬于Apache組織,不包括其他第三方的模塊。

[[195636]]

本文涉及到的所有模塊,都是屬于Apache組織,不包括其他第三方的模塊。

核心模塊

Hadoop Common: 包括Hadoop常用的工具類,由原來的Hadoop core部分更名而來。主要包括系統(tǒng)配置工具Configuration、遠程過程調(diào)用RPC、序列化機制和Hadoop抽象文件系統(tǒng)FileSystem等。它們?yōu)樵谕ㄓ糜布洗罱ㄔ朴嬎悱h(huán)境提供基本的服務,并為運行在該平臺上的軟件開發(fā)提供了所需的API。

Hadoop Distributed File System (HDFS™): 分布式文件系統(tǒng),提供對應用程序數(shù)據(jù)的高吞吐量,高伸縮性,高容錯性的訪問。是Hadoop體系中數(shù)據(jù)存儲管理的基礎。它是一個高度容錯的系統(tǒng),能檢測和應對硬件故障,用于在低成本的通用硬件上運行。HDFS簡化了文件的一致性模型,通過流式數(shù)據(jù)訪問,提供高吞吐量應用程序數(shù)據(jù)訪問功能,適合帶有大型數(shù)據(jù)集的應用程序。

Hadoop YARN: 任務調(diào)度和集群資源管理。

Hadoop MapReduce: 基于YARN的大型數(shù)據(jù)集并行處理系統(tǒng)。是一種計算模型,用以進行大數(shù)據(jù)量的計算。Hadoop的MapReduce實現(xiàn),和Common、HDFS一起,構成了Hadoop發(fā)展初期的三個組件。MapReduce將應用劃分為Map和Reduce兩個步驟,其中Map對數(shù)據(jù)集上的獨立元素進行指定的操作,生成鍵-值對形式中間結果。Reduce則對中間結果中相同“鍵”的所有“值”進行規(guī)約,以得到最終結果。MapReduce這樣的功能劃分,非常適合在大量計算機組成的分布式并行環(huán)境里進行數(shù)據(jù)處理。

其他模塊:

Ambari: 是一種基于Web的工具,支持Apache Hadoop集群的供應、管理和監(jiān)控。Ambari目前已支持大多數(shù)Hadoop組件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop和Hcatalog等的集中管理。Ambari還提供了一個用于查看集群健康狀況的儀表板,例如散熱圖,以及可視化查看MapReduce,Pig和Hive應用程序以及以用戶友好的方式診斷其性能特征的功能。也是5個頂級hadoop管理工具之一。

Avro: 數(shù)據(jù)序列化系統(tǒng),由Doug Cutting牽頭開發(fā),是一個數(shù)據(jù)序列化系統(tǒng)。類似于其他序列化機制,Avro可以將數(shù)據(jù)結構或者對象轉換成便于存儲和傳輸?shù)母袷?,其設計目標是用于支持數(shù)據(jù)密集型應用,適合大規(guī)模數(shù)據(jù)的存儲與交換。Avro提供了豐富的數(shù)據(jù)結構類型、快速可壓縮的二進制數(shù)據(jù)格式、存儲持久性數(shù)據(jù)的文件集、遠程調(diào)用RPC和簡單動態(tài)語言集成等功能。

Cassandra: 可擴展的多主數(shù)據(jù)庫,沒有單點故障。是一套開源分布式NoSQL數(shù)據(jù)庫系統(tǒng)。它最初由Facebook開發(fā),用于儲存收件箱等簡單格式數(shù)據(jù),集GoogleBigTable的數(shù)據(jù)模型與Amazon Dynamo的完全分布式的架構于一身Facebook于2008將 Cassandra 開源,此后,由于Cassandra良好的可擴展性,被Digg、Twitter等知名Web 2.0網(wǎng)站所采納,成為了一種流行的分布式結構化數(shù)據(jù)存儲方案。

Cassandra是一個混合型的非關系的數(shù)據(jù)庫,類似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存儲系統(tǒng))更豐富,但支持度卻不如文檔存儲MongoDB(介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的開源產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的。支持的數(shù)據(jù)結構非常松散,是類似json的bjson格式,因此可以存儲比較復雜的數(shù)據(jù)類型)。Cassandra最初由Facebook開發(fā),后轉變成了開源項目。它是一個網(wǎng)絡社交云計算方面理想的數(shù)據(jù)庫。以Amazon專有的完全分布式的Dynamo為基礎,結合了Google BigTable基于列族(Column Family)的數(shù)據(jù)模型。P2P去中心化的存儲。很多方面都可以稱之為Dynamo 2.0。

Chukwa: 用于管理大型分布式系統(tǒng)的數(shù)據(jù)收集系統(tǒng)(2000+以上的節(jié)點, 系統(tǒng)每天產(chǎn)生的監(jiān)控數(shù)據(jù)量在T級別)。它構建在Hadoop的HDFS和MapReduce基礎之上,繼承了Hadoop的可伸縮性和魯棒性。Chukwa包含一個強大和靈活的工具集,提供了數(shù)據(jù)的生成、收集、排序、去重、分析和展示等一系列功能,是Hadoop使用者、集群運營人員和管理人員的必備工具。

Hbase: 是一個分布式的、面向列的開源數(shù)據(jù)庫,該技術來源于 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化數(shù)據(jù)的分布式存儲系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(File System)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同于一般的關系數(shù)據(jù)庫,它是一個適合于非結構化數(shù)據(jù)存儲的數(shù)據(jù)庫。另一個不同的是HBase基于列的而不是基于行的模式。

HBase是一個針對結構化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動態(tài)模式數(shù)據(jù)庫。和傳統(tǒng)關系數(shù)據(jù)庫不同,HBase采用了BigTable的數(shù)據(jù)模型:增強的稀疏排序映射表(Key/Value),其中,鍵由行關鍵字、列關鍵字和時間戳構成。HBase提供了對大規(guī)模數(shù)據(jù)的隨機、實時讀寫訪問,同時,HBase中保存的數(shù)據(jù)可以使用MapReduce來處理,它將數(shù)據(jù)存儲和并行計算完美地結合在一起。

Hive: 是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結構化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行。 其優(yōu)點是學習成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。

Hive是Hadoop中的一個重要子項目,最早由Facebook設計,是建立在Hadoop基礎上的數(shù)據(jù)倉庫架構,它為數(shù)據(jù)倉庫的管理提供了許多功能,包括:數(shù)據(jù)ETL(抽取、轉換和加載)工具、數(shù)據(jù)存儲管理和大型數(shù)據(jù)集的查詢和分析能力。Hive提供的是一種結構化數(shù)據(jù)的機制,定義了類似于傳統(tǒng)關系數(shù)據(jù)庫中的類SQL語言:Hive QL,通過該查詢語言,數(shù)據(jù)分析人員可以很方便地運行數(shù)據(jù)分析業(yè)務。

Mahout: Apache旗下的一個開源項目,提供一些可擴展的機器學習領域經(jīng)典算法的實現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應用程序。Mahout包含許多實現(xiàn),包括聚類、分類、推薦過濾、頻繁子項挖掘。此外,通過使用 Apache Hadoop 庫,Mahout 可以有效地擴展到云中。

Mahout起源于2008年,最初是Apache Lucent的子項目,它在極短的時間內(nèi)取得了長足的發(fā)展,現(xiàn)在是Apache的頂級項目。Mahout的主要目標是創(chuàng)建一些可擴展的機器學習領域經(jīng)典算法的實現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應用程序。Mahout現(xiàn)在已經(jīng)包含了聚類、分類、推薦引擎(協(xié)同過濾)和頻繁集挖掘等廣泛使用的數(shù)據(jù)挖掘方法。除了算法,Mahout還包含數(shù)據(jù)的輸入/輸出工具、與其他存儲系統(tǒng)(如數(shù)據(jù)庫、MongoDB 或Cassandra)集成等數(shù)據(jù)挖掘支持架構。

Pig: 運行在Hadoop上,是對大型數(shù)據(jù)集進行分析和評估的平臺。它簡化了使用Hadoop進行數(shù)據(jù)分析的要求,提供了一個高層次的、面向領域的抽象語言:Pig Latin。通過Pig Latin,數(shù)據(jù)工程師可以將復雜且相互關聯(lián)的數(shù)據(jù)分析任務編碼為Pig操作上的數(shù)據(jù)流腳本,通過將該腳本轉換為MapReduce任務鏈,在Hadoop上執(zhí)行。和Hive一樣,Pig降低了對大型數(shù)據(jù)集進行分析和評估的門檻。

Apache Pig 是一個高級過程語言,適合于使用 Hadoop 和 MapReduce 平臺來查詢大型半結構化數(shù)據(jù)集。通過允許對分布式數(shù)據(jù)集進行類似 SQL 的查詢,Pig 可以簡化 Hadoop 的使用。

用MapReduce進行數(shù)據(jù)分析。當業(yè)務比較復雜的時候,使用MapReduce將會是一個很復雜的事情,比如你需要對數(shù)據(jù)進行很多預處理或轉換,以便能夠適應MapReduce的處理模式。另一方面,編寫MapReduce程序,發(fā)布及運行作業(yè)都將是一個比較耗時的事情。Pig的出現(xiàn)很好的彌補了這一不足。Pig能夠讓你專心于數(shù)據(jù)及業(yè)務本身,而不是糾結于數(shù)據(jù)的格式轉換以及MapReduce程序的編寫。本質是上來說,當你使用Pig進行處理時,Pig本身會在后臺生成一系列的MapReduce操作來執(zhí)行任務,但是這個過程對用戶來說是透明的。

Spark: Hadoop數(shù)據(jù)快速通用的計算引擎。 Spark提供了一個簡單的編程模型,支持各種應用,包括ETL,機器學習,流處理和圖形計算。

Apache Spark 是專為大規(guī)模數(shù)據(jù)處理而設計的快速通用的計算引擎。

Spark是UC Berkeley AMP lab (加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用并行框架,Spark,擁有Hadoop MapReduce所具有的優(yōu)點;但不同于MapReduce的是Job中間輸出結果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學習等需要迭代的MapReduce的算法。

Spark 是一種與 Hadoop 相似的開源集群計算環(huán)境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現(xiàn)得更加優(yōu)越,換句話說,Spark 啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負載。

Spark 是在 Scala 語言中實現(xiàn)的,它將 Scala 用作其應用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數(shù)據(jù)集。

盡管創(chuàng)建 Spark 是為了支持分布式數(shù)據(jù)集上的迭代作業(yè),但是實際上它是對 Hadoop 的補充,可以在 Hadoop 文件系統(tǒng)中并行運行。通過名為 Mesos 的第三方集群框架可以支持此行為。Spark 由加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發(fā),可用來構建大型的、低延遲的數(shù)據(jù)分析應用程序。

Tez: 用于構建高性能批處理和交互式數(shù)據(jù)處理應用程序的可擴展框架,由Apache Hadoop中的YARN協(xié)調(diào)。 Tez通過大幅度提高其速度來改進MapReduce范式,同時保持MapReduce擴展到PB級數(shù)據(jù)的能力。支持DAG(Database Availability Group 數(shù)據(jù)庫可用性組)作業(yè)的計算框架,它直接源于MapReduce框架,核心思想是將Map和Reduce兩個操作進一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,這樣,這些分解后的元操作可以任意靈活組合,產(chǎn)生新的操作,這些操作經(jīng)過一些控制程序組裝后,可形成一個大的DAG作業(yè)。

ZooKeeper: 一個分布式的,開放源碼的分布式應用程序協(xié)調(diào)服務,是Google的Chubby一個開源的實現(xiàn),是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。

ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。

在分布式系統(tǒng)中如何就某個值(決議)達成一致,是一個十分重要的基礎問題。ZooKeeper作為一個分布式的服務框架,解決了分布式計算中的一致性問題。在此基礎上,ZooKeeper可用于處理分布式應用中經(jīng)常遇到的一些數(shù)據(jù)管理問題,如統(tǒng)一命名服務、狀態(tài)同步服務、集群管理、分布式應用配置項的管理等。ZooKeeper常作為其他Hadoop相關項目的主要組件,發(fā)揮著越來越重要的作用。 

 

責任編輯:龐桂玉 來源: 36大數(shù)據(jù)
相關推薦

2021-12-14 09:56:51

HadoopSparkKafka

2019-07-22 10:45:31

2016-12-20 18:21:29

Hadoop大數(shù)據(jù)面試

2017-02-14 13:11:23

HadoopStormSamza

2019-04-23 15:35:53

Hadoop大數(shù)據(jù)數(shù)據(jù)處理

2020-12-11 11:33:15

大數(shù)據(jù)Hadoop

2020-04-22 14:34:42

大數(shù)據(jù)Hadoop技術

2020-10-26 07:05:02

大數(shù)據(jù)管道編排編排框架

2013-04-12 10:56:31

大數(shù)據(jù)

2016-10-26 08:57:13

HadoopScrapy大數(shù)據(jù)

2021-05-16 07:44:01

Hadoop大數(shù)據(jù)HDFS

2015-04-01 15:09:30

Hadoop大數(shù)據(jù)

2017-02-05 17:27:43

2013-11-05 13:21:33

大數(shù)據(jù)公益大學

2020-07-23 07:24:40

Kubernetes大數(shù)據(jù)開發(fā)

2017-01-15 14:18:35

大數(shù)據(jù)HadoopScrapy

2013-05-06 10:22:28

大數(shù)據(jù)Hadoop

2009-07-07 13:45:52

JDK日志框架

2012-05-31 14:54:59

Hadoop大數(shù)據(jù)

2012-06-29 09:19:39

大數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號