成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

終于有人把 Hadoop 生態的核心講明白了!

大數據 Hadoop
Hadoop是一個由Apache基金會開發的分布式系統基礎架構。開發人員可以在不了解分布式底層細節的情況下開發分布式程序,充分利用集群的威力進行高速并行運算以及海量數據的分布式存儲。

[[423200]]

Hadoop是一個由Apache基金會開發的分布式系統基礎架構。開發人員可以在不了解分布式底層細節的情況下開發分布式程序,充分利用集群的威力進行高速并行運算以及海量數據的分布式存儲。Hadoop大數據技術架構如圖1所示。

圖1 Hadoop大數據技術架構

然而,Hadoop不是一個孤立的技術,而是一套完整的生態圈,如圖2所示。在這個生態圈中,Hadoop最核心的組件就是分布式文件系統HDFS和分布式計算框架MapReduce。HDFS為海量的數據提供了存儲,是整個大數據平臺的基礎,而MapReduce則為海量的數據提供了計算能力。在它們之上有各種大數據技術框架,包括數據倉庫Hive、流式計算Storm、數據挖掘工具Mahout和分布式數據庫HBase。此外,ZooKeeper為Hadoop集群提供了高可靠運行的框架,保證Hadoop集群在部分節點宕機的情況下依然可靠運行。Sqoop與Flume分別是結構化與非結構化數據采集工具,通過它們可以將海量數據抽取到Hadoop平臺上,進行后續的大數據分析。

圖2 Hadoop大數據生態圈

Cloudera與Hortonworks是大數據的集成工具,它們將大數據技術的各種組件集成在一起,簡化安裝、部署等工作,并提供統一的配置、管理、監控等功能。Oozie是一個業務編排工具,我們將復雜的大數據處理過程解耦成一個個小腳本,然后用Oozie組織在一起進行業務編排,定期執行與調度。

01分布式文件系統

過去,我們用諸如DOS、Windows、Linux、UNIX等許多系統來在計算機上存儲并管理各種文件。與它們不同的是,分布式文件系統是將文件散列地存儲在多個服務器上,從而可以并行處理海量數據。

Hadoop的分布式文件系統HDFS如圖3所示,它首先將服務器集群分為名稱節點(NameNode)與數據節點(DataNode)。名稱節點是控制節點,當需要存儲數據時,名稱節點將很大的數據文件拆分成一個個大小為128MB的小文件,然后散列存儲在其下的很多數據節點中。當Hadoop需要處理這個數據文件時,實際上就是將其分布到各個數據節點上進行并行處理,使性能得到大幅提升。

圖3 分布式文件系統HDFS

同時,每個小文件在存儲時,還會進行多節點復制(默認是3節點復制),一方面可以并行讀取數據,另一方面可以保障數據的安全,即任何一個節點失效,數據都不會丟失。當一個節點宕機時,如果該節點的數據不足3份,就會立即發起數據復制,始終保持3節點的復制。正因為具有這樣高可靠的文件存儲,Hadoop的部署不需要備份,也不需要磁盤鏡像,在Hadoop集群的各個節點中掛載大容量的磁盤并配置Raid0就可以了。

02分布式計算框架

Hadoop的另一個關鍵組件是分布式計算框架MapReduce,它將海量數據的處理分布到許多數據節點中并行進行,從而提高系統的運行效率。

MapReduce計算詞頻的處理過程如圖4所示。在這個過程中,首先輸入要處理的數據文件,經過Splitting將其拆分到各個節點中,并在這些節點的本地執行Mapping,將其制作成一個Map。不同的任務可以設計不同的Map。譬如,現在的任務是計算詞頻,因此該Map的key是不同的詞,value是1。這樣,在后續的處理過程中,將相同詞的1加在一起就是該詞的詞頻了。

圖4 分布式計算框架MapReduce

Mapping操作執行完以后,就開始Shuffling操作。它是整個執行過程中效率最差的部分,需要在各個節點間交換數據,將同一個詞的數據放到同一個節點上。如何有效地降低交換的數據量成為優化性能的關鍵。接著,在每個節點的本地執行Reducing操作,將同一個詞的這些1加在一起,就得到了詞頻。最后,將分布在各個節點的結果集中到一起,就可以輸出了。

整個計算有6個處理過程,那么為什么它的名字叫MapReduce呢?因為其他處理過程都被框架封裝了,開發人員只需要編寫Map和Reduce過程就能完成各種各樣的數據處理。這樣,技術門檻降低了,大數據技術得以流行起來。

03優缺點

與傳統的數據庫相比,MapReduce分布式計算雖然有無與倫比的性能優勢,但并不適用于所有場景。MapReduce沒有索引,它的每次計算都是“暴力全掃描”,即將整個文件的所有數據都掃描一遍。如果要分析的結果涉及該文件80%以上的數據,與關系型數據庫相比,能獲得非常優異的性能。如果只是為了查找該文件中的某幾十條記錄,那么它既耗費資源,性能也沒有關系型數據庫好。因此,MapReduce的分布式計算更適合在后臺對批量數據進行離線計算,即一次性對海量數據進行分析、整理與運算。它并不適用于在前臺面向終端用戶的在線業務、事務處理與隨機查詢。

同時,MapReduce更適合對大數據文件的處理,而不適合對海量小文件的處理。因此,當要處理海量的用戶文檔、圖片、數據文件時,應當將其整合成一個大文件(序列文件),然后交給MapReduce處理。唯有這樣才能充分發揮MapReduce的性能。

 

本文摘編自《架構真意:企業級應用架構設計方法論與實踐》,經出版方授權發布。

 

責任編輯:武曉燕 來源: 數倉寶貝庫
相關推薦

2022-03-27 20:32:28

Knative容器事件模型

2021-06-13 12:03:46

SaaS軟件即服務

2021-10-09 00:02:04

DevOps敏捷開發

2020-11-30 08:34:44

大數據數據分析技術

2022-01-05 18:27:44

數據挖掘工具

2021-06-29 11:21:41

數據安全網絡安全黑客

2021-03-03 21:31:24

量化投資利潤

2021-02-14 00:21:37

區塊鏈數字貨幣金融

2022-04-12 18:29:41

元數據系統架構

2022-07-31 20:29:28

日志系統

2022-04-22 11:26:55

數據管理架構

2021-09-02 12:30:22

自動駕駛人工智能技術

2022-04-18 07:37:30

數據信息知識

2022-02-15 09:04:44

機器學習人工智能監督學習

2021-04-12 07:36:15

Scrapy爬蟲框架

2020-10-29 06:09:37

數據中臺數據大數據

2020-12-01 09:22:43

進程協程開發

2022-05-09 20:23:51

數據采集

2022-07-26 00:00:01

安全紅藍對抗滲透

2021-10-17 20:38:30

微服務內存組件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频一区二区 | 国产精品久久久久久久白浊 | 免费观看一级特黄欧美大片 | 亚洲一区在线观看视频 | 成人在线观看免费视频 | 国产精品一区二区在线 | 91免费福利在线 | 精品国产一区二区三区观看不卡 | 午夜精品久久久久久久久久久久久 | 欧美激情久久久久久 | 91九色porny首页最多播放 | 国产玖玖 | av一区二区三区四区 | 久久久久久国产 | 激情五月婷婷 | 在线播放第一页 | 午夜寂寞福利视频 | 亚洲国产精品第一区二区 | 国产一级视频在线观看 | 成人三级网址 | 国产视频二区 | 欧洲精品在线观看 | 91亚洲国产精品 | 国产精品久久777777 | 国产乱码精品一品二品 | 国产亚洲精品精品国产亚洲综合 | 蜜桃五月天 | 国产免费一级一级 | 亚洲热在线视频 | 在线一区二区三区 | 天堂中文在线观看 | 在线婷婷| 天天精品在线 | 久久草视频 | 亚洲精品免费视频 | 国产精品一区二区不卡 | 久草中文在线 | 国产精品视频偷伦精品视频 | 色99视频 | 亚洲天堂一区二区 | 欧美美女一区二区 |