一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

大數(shù)據(jù)開發(fā)之Hadoop生態(tài)6 大核心組件

 IT小白在線 2021-11-01

Hadoop 第一代分布式存儲(chǔ)計(jì)算框架

Hadoop是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開發(fā),它允許用戶在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序,充分利用集群的威力高速運(yùn)算和存儲(chǔ)。Hadoop包含豐富的生態(tài)組件,有我們耳熟能詳?shù)姆植际轿募到y(tǒng)HDFS,分布式計(jì)算框架MapReduce,以及分布式調(diào)度系統(tǒng)YARN。

HDFS是一個(gè)高容錯(cuò)、高吞吐的分布式存儲(chǔ)系統(tǒng),可以被廣泛部署在低價(jià)的硬件設(shè)備之上?;炯軜?gòu):

有幾個(gè)概念值得記?。?/span>

  • 數(shù)據(jù)塊(Block)

大文件被切分成多個(gè)block存儲(chǔ),默認(rèn)大小為128M。為了保證數(shù)據(jù)可靠性,每個(gè)block分布式存儲(chǔ)在多個(gè)datanode節(jié)點(diǎn)上,默認(rèn)3副本。

  • NameNode

NameNode是HDFS的主節(jié)點(diǎn),主要作用是維大數(shù)據(jù)培訓(xùn)護(hù)文件系統(tǒng)的目錄結(jié)構(gòu),管理文件與block之間關(guān)系,block與datanode之間關(guān)系。

  • DataNode

DataNode是HDFS的數(shù)據(jù)節(jié)點(diǎn),主要作用是存儲(chǔ)與管理數(shù)據(jù)塊,并將信息上報(bào)給NameNode。

MapReduce是Hadoop體系中的并行計(jì)算框架, 也是一種編程模型,分成Map和Reduce兩個(gè)階段,在Map階段對(duì)數(shù)據(jù)進(jìn)行提取,得到有效的鍵值對(duì),然后在Reduce階段進(jìn)行計(jì)算,得到最終的結(jié)果。流程圖如:

YARN是一個(gè)通用資源管理系統(tǒng),可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入在集群利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面具有重大意義。這里不做詳細(xì)介紹。

Hive 基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)

Hive是構(gòu)建在Hadoop之上的數(shù)據(jù)倉(cāng)庫(kù)工具,由facebook開源,最初用于解決海量結(jié)構(gòu)化的日志數(shù)據(jù)統(tǒng)計(jì)問題。Hive 定義了一種類 SQL 查詢語(yǔ)言 HQL,提供SQL查詢功能,可以將SQL語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)運(yùn)行。

Hive是一個(gè)SQL on Hadoop組件,主要特點(diǎn)是高吞吐、高延時(shí),學(xué)習(xí)成本低(SQL),通常用于海量結(jié)構(gòu)化數(shù)據(jù)離線分析;Hive支持TextFile、RCFile、ORC、Parquet等多種文件格式,Gzip、LZO、Snappy等多種壓縮格式;支持用戶自定義函數(shù)。數(shù)據(jù)模型如下:

Hive是大家比較熟知的開源組件,多數(shù)情況下我們只要解決如何更好、穩(wěn)定、高效的使用問題即可。涉及Hive MetaStore相關(guān)的屬于高階使用。

HBase 主流的分布式NoSQL數(shù)據(jù)庫(kù)

HBase(Hadoop database)是一個(gè)分布式、可擴(kuò)展、面向列的NoSQL數(shù)據(jù)庫(kù),本質(zhì)上是一個(gè)Key-Value系統(tǒng),底層數(shù)據(jù)存儲(chǔ)在文件系統(tǒng)HDFS上,原生支持 MapReduce計(jì)算框架,具有高吞吐、低延時(shí)的讀寫特點(diǎn)。

HBase周邊生態(tài)成熟,具有很多豐富的特性,比如強(qiáng)一致性讀寫、自動(dòng)分區(qū)、自動(dòng)故障轉(zhuǎn)移、面向列等。HBase主要用于海量數(shù)據(jù)永久性存儲(chǔ)與超大規(guī)模并發(fā)訪問場(chǎng)景,目前應(yīng)用非常廣泛。生態(tài)架構(gòu)如:

HBase相關(guān)的概念主要有:

  • HMaster

HBase主節(jié)點(diǎn),負(fù)責(zé)節(jié)點(diǎn)的管理。

  • RegionServer

HBase從節(jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn);負(fù)責(zé)數(shù)據(jù)的讀寫。

  • Region

HBase表的分區(qū),水平方向分布式存儲(chǔ)的單元。

  • Namespace

  • Table

  • Rowkey

  • ColumnFamily

  • ColumnQualifier

Spark 一站式的分布式計(jì)算引擎

Spark是一個(gè)快速通用的、一站式的分布式計(jì)算引擎,它是開源的類Hadoop MapReduce的通用并行框架,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn),但又不同于MapReduce,其中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要頻繁讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce算法。

Spark提供了大量的庫(kù),主要包括Spark Core、Spark SQL 、Spark Streaming 、MLlib、GraphX等。開發(fā)者可以在同一個(gè)應(yīng)用程序中無縫組合使用這些庫(kù)。框架圖如:

總結(jié)Spark的技術(shù)優(yōu)勢(shì),主要有以下幾點(diǎn):

  • 強(qiáng)大的RDD模型

  • 先進(jìn)的DAG架構(gòu)

  • 高效的Cache機(jī)制

  • 豐富的算子操作類型

  • 多語(yǔ)言支持

  • 統(tǒng)一完整的解決方案

Kafka 分布式消息引擎及流處理平臺(tái)

Kafka是一個(gè)分布式消息引擎與流處理平臺(tái),經(jīng)常用做企業(yè)的消息總線、實(shí)時(shí)數(shù)據(jù)管道,甚至還可把它看作存儲(chǔ)系統(tǒng)。早期Kafka 的定位是一個(gè)高吞吐的分布式消息系統(tǒng),目前則演變成了一個(gè)成熟的分布式消息引擎,以及流處理平臺(tái)。

高吞吐、低延時(shí)是Kafka 顯著的特點(diǎn),Kafka能夠達(dá)到百萬級(jí)的消息吞吐量,延遲可達(dá)毫秒級(jí)。Kafka是典型的生產(chǎn)者-消費(fèi)者模型,如下:

Kafka生產(chǎn)端發(fā)送消息到集群Broker節(jié)點(diǎn)上,具體是發(fā)到某一個(gè)topic的partition中,消息在同一partition中保證順序;消費(fèi)端拉取消息進(jìn)行消費(fèi)處理,通常是sink到其他引擎如另一個(gè)kafka、存儲(chǔ)系統(tǒng)、NoSQL數(shù)據(jù)庫(kù)等。涉及主要概念有:

  • Producer

生產(chǎn)者,即消息產(chǎn)生和發(fā)送的一方。

  • Consumer

消費(fèi)者,即拉取消息進(jìn)行處理的一方。

  • Broker

Kafka實(shí)例或角色,一個(gè)Kafka集群由多個(gè)broker構(gòu)成,通常一臺(tái)機(jī)器部署一個(gè)Kafka實(shí)例,一個(gè)實(shí)例掛了不影響其他實(shí)例。

  • Topic

即主題,服務(wù)端消息的邏輯存儲(chǔ)單元。一個(gè)topic通常包含若干個(gè)Partition即分區(qū)。

  • Partition

Topic的分區(qū),分布式存儲(chǔ)在各個(gè)broker中, 實(shí)現(xiàn)發(fā)布與訂閱的負(fù)載均衡。

  • Message

消息,或稱日志消息,是Kafka服務(wù)端實(shí)際存儲(chǔ)的數(shù)據(jù)。

Elasticsearch 主流的分布式搜索引擎

Elasticsearch,簡(jiǎn)稱ES,是當(dāng)下主流的分布式全文搜索,它允許用戶快速的進(jìn)行存儲(chǔ)、搜索和分析海量數(shù)據(jù),底層是開源庫(kù)Lucene,開箱即用。

ES通常為具有復(fù)雜的搜索要求或多維度查詢的應(yīng)用程序提供底層數(shù)據(jù)存儲(chǔ)、搜索能力,不僅僅是全文搜索。基本架構(gòu)圖:

總結(jié)主要有以下關(guān)鍵詞或特點(diǎn):

  • 全文或結(jié)構(gòu)化搜索

ES是一個(gè)搜索引擎,可用于全文搜索或結(jié)構(gòu)化搜索。

  • 分布式

如上圖示,ES數(shù)據(jù)在水平方向是以分片(shard)以及副本分片(replica)的形式分布式存儲(chǔ)在不同節(jié)點(diǎn)。

  • Restful API

對(duì)外主要以Rest API或接口的形式提供服務(wù)。

  • 近實(shí)時(shí)搜索與更新

主要能夠提供近實(shí)時(shí)的寫入與搜索能力,不太適用于那些對(duì)實(shí)時(shí)性要求比較高的應(yīng)用。

  • 面向文檔

ES還是一個(gè)文檔型引擎,數(shù)據(jù)在ES中被稱為document,用戶可指定document id,否則ES會(huì)自動(dòng)生成一個(gè)document id。

  • Schema free

ES是一個(gè)Schema free的組件,我們可以提前定義schema結(jié)構(gòu),也可以不定義,ES會(huì)自動(dòng)幫我們創(chuàng)建schema結(jié)構(gòu),動(dòng)態(tài)添加字段。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产成人精品国产成人亚洲| 欧美亚洲综合另类色妞| 日韩特级黄色大片在线观看| 人妻内射精品一区二区| 好吊色免费在线观看视频| 欧美不卡午夜中文字幕| 夫妻性生活真人动作视频| 东京干男人都知道的天堂| 最近的中文字幕一区二区| 一级片二级片欧美日韩| 九九视频通过这里有精品| 日韩中文字幕视频在线高清版| 日本人妻精品中文字幕不卡乱码| 日本免费熟女一区二区三区| 中文字幕有码视频熟女| 精品人妻av区波多野结依| 日本少妇aa特黄大片| 国产日韩久久精品一区| 区一区二区三中文字幕| 午夜精品黄片在线播放| 中日韩免费一区二区三区| 国产亚洲神马午夜福利| 欧美又大又黄刺激视频| 亚洲欧美日本成人在线| 免费在线播放一区二区| 欧美色欧美亚洲日在线| 美女露小粉嫩91精品久久久| 东北老熟妇全程露脸被内射| 欧美日韩亚洲国产综合网 | 日韩不卡一区二区视频| 久久人人爽人人爽大片av| 区一区二区三中文字幕| 91麻豆精品欧美视频| 丰满人妻少妇精品一区二区三区 | 三级理论午夜福利在线看| 激情五月激情婷婷丁香| 亚洲做性视频在线播放| 日本妇女高清一区二区三区| 国产欧美精品对白性色| 欧美一区二区三区视频区| 免费在线观看激情小视频|