您現在的位置是:首頁 > 運動

資料產品經理術語之hadoop

由 人人都是產品經理 發表于 運動2021-10-01
簡介六、生態部署,配置和監控:Ambari,Whirr監控管理工具:Hue, karmasphere, eclipse plugin, cacti, ganglia資料序列化處理與任務排程:Avro, Zookeeper資料收集:Fuse,We

hadoop是做什麼的

資料產品經理的工作描述中,“瞭解hadoop”是一個高頻出現的內容。大多數產品經理並沒有直接與hadoop打交道的經驗,本文希望能夠幫助大家對Hadoop有一個基礎的理解。

資料產品經理術語之hadoop

一、是什麼

Hadoop是一個由Apache基金會所開發的分散式系統基礎架構,它封裝了複雜的分散式底層細節,使開發人員能夠低門檻地開發分散式程式,充分利用叢集的威力進行高速運算和儲存。

Hadoop是一個針對於大資料的存取、計算、加工、分析,由多個工具構成的解決方案。

二、為了解決什麼問題

任何新技術的提出,都是為了解決問題。那麼,Hadoop是在什麼樣的情況下應運而生的,它又解決了什麼問題呢?

隨著網際網路資料量增多,資料產生速度增快,資料型別多樣性提高,之前的集中式的資料處理系統顯露出了很多問題。

原有系統儲存容量有限,無法承載每日TB甚至PB級的資料量。

原有系統適合處理簡單資料,對於音影片、圖片等多種型別的檔案支援一般。

原有系統應對故障的能力弱。

原有系統對機器要求高,構建成本高。

Hadoop構建了可以執行在多個廉價小型機的分散式系統架構,以低成本的方案解決了上述問題,從而得到了行業中大量的應用。

三、工作原理

1. 示意圖

資料產品經理術語之hadoop

Hadoop中的核心設計包括兩點:

HDFS和MapReduce。

圖中白色塊屬於HDFS,黑色塊屬於MapReduce。

2. HDFS

HDFS(Hadoop Distributed File System)是一個高度容錯性的分散式檔案系統,可以被廣泛的部署於廉價的PC上。它以流式訪問模式訪問應用程式的資料,這大大提高了整個系統的資料吞吐量,因而非常適合用於具有超大資料集的應用程式中。

一個典型的HDFS叢集包含一個NameNode節點和多個DataNode節點,NameNode節點負責整個HDFS檔案系統中的檔案的元資料的保管和管理,叢集中通常只有一臺機器上執行NameNode例項,DataNode節點儲存檔案中的資料,叢集中的機器分別執行一個DataNode例項。

在HDFS中,NameNode節點被稱為名稱節點,DataNode節點被稱為資料節點。DataNode節點透過心跳機制與NameNode節點進行定時的通訊。

NameNode :

可以看作是分散式檔案系統中的管理者,儲存檔案系統的meta-data,主要負責管理檔案系統的名稱空間,叢集配置資訊,儲存塊的複製。

Secondary NameNode:

幫助 NameNode 收集檔案系統執行的狀態資訊 。

DataNode :

是檔案儲存的基本單元,它儲存檔案塊在本地檔案系統中,儲存了檔案塊的meta-data,同時週期性的傳送所有存在的檔案塊的報告給NameNode。

3。 MapReduce

MapReduce是一種程式設計模型,用於大規模資料集的並行運算。Map(對映)和Reduce(化簡),採用分而治之思想,先把任務分發到叢集多個節點上,平行計算,然後再把計算結果合併,從而得到最終計算結果。

舉個通俗的例子:

我們要數圖書館中的所有書,你數1號書架,我數2號書架,這就是“Map”。我們人越多,數書就更快。

現在我們到一起,把所有人的統計數加在一起,這就是“Reduce”。

使用者提交任務給JobTracer,JobTracer把對應的使用者程式中的Map操作和Reduce操作對映至TaskTracer節點中;輸入模組負責把輸入資料分成小資料塊,然後把它們傳給Map節點;Map節點得到每一個key/value對,處理後產生一個或多個key/value對,然後寫入檔案;Reduce節點獲取臨時檔案中的資料,對帶有相同key的資料進行迭代計算,然後把終結果寫入檔案。

JobTracker:

當有任務提交到 Hadoop 叢集的時候負責 Job 的執行,負責排程多個 TaskTracker 。

TaskTracker:

負責某一個 map 或者 reduce 任務 。

四、優缺點

1. 優勢

大資料檔案,非常適合上T級別的大檔案或者一堆大資料檔案的儲存,如果檔案只有幾個G甚至更小就沒啥意思了。

檔案分塊儲存,HDFS會將一個完整的大檔案平均分塊儲存到不同計算器上,它的意義在於讀取檔案時可以同時從多個主機取不同區塊的檔案,多主機讀取比單主機讀取效率要高得多。

流式資料訪問,一次寫入多次讀寫,這種模式跟傳統檔案不同,它不支援動態改變檔案內容,而是要求讓檔案一次寫入就不做變化,要變化也只能在檔案末新增內容。

廉價硬體,HDFS可以應用在普通PC機上,這種機制能夠讓給一些公司用幾十臺廉價的計算機,就可以撐起一個大資料叢集。

硬體故障,HDFS認為所有計算機都可能會出問題,為了防止某個主機失效讀取不到該主機的塊檔案,它將同一個檔案塊副本分配到其它某幾個主機上,如果其中一臺主機失效,可以迅速找另一塊副本取檔案。

2. 缺陷

HDFS不適合用在:

要求低時間延遲資料訪問的應用,儲存大量的小檔案,多使用者寫入,任意修改檔案。

五、適用場景

搜尋、日誌處理、推薦系統、資料分析、影片影象分析、資料儲存等。

六、生態

部署,配置和監控:Ambari,Whirr

監控管理工具:Hue, karmasphere, eclipse plugin, cacti, ganglia

資料序列化處理與任務排程:Avro, Zookeeper

資料收集:Fuse,Webdav,Chukwa,Flume, Scribe , Nutch

資料儲存:HDFS

類SQL查詢資料倉庫:Hive

流式資料處理:Pig

平行計算框架:MapReduce, Tez

資料探勘和機器學習:Mahout

列式儲存線上資料庫:HBase

元資料中心:HCatalog (可以和Pig,Hive ,MapReduce等結合使用)

工作流控制:Oozie,Cascading

資料匯入匯出到關係資料庫:Sqoop,Flume, Hiho

資料視覺化:drilldown,Intellicus

本文由 @ 流風 原創釋出於人人都是產品經理。未經許可,禁止轉載

題圖來自 Pixabay,基於 CC0 協議

推薦文章

  • 秦志戩罵醒王楚欽!國乒主帥開竅,林高遠要這麼打張本智和早贏了

    秦志戩罵醒王楚欽!國乒主帥開竅,林高遠要這麼打張本智和早贏了這次男單決賽開始前,很多球迷都擔心士氣正盛的張本智和再次擊敗國乒奪冠,畢竟他這個日本華裔天才每次碰到國乒總能爆發出驚人的戰鬥力,而咱們的選手卻總是會因為壓力過大而畏手畏腳,最終不能發揮出應有的水平從而吃敗仗,像林高遠、梁靖崑這樣準一流的選手...

  • 常喝3種菊花茶,好喝又解暑

    常喝3種菊花茶,好喝又解暑雲臺冰菊花朵朵型圓潤,完全盛開時花瓣呈一定的弧度向下延展,層層疊加,明亮的黃色嬌而不豔,烘乾後的花朵顏色金黃,整體較小,不落瓣,醇厚的菊香令人心曠神怡,喝過雲臺冰菊的茶客皆讚不絕口...

  • 朱元璋,一個被皇位耽誤的化學家!

    為避免後代出現low爆的名字,朱元璋規定,後代名字的第一個字按輩分取,第二個字按五行“木火土金水”取,因為老朱命中帶水,所以他的兒子從木開始...