大數(shù)據(jù)簡介
定義
大數(shù)據(jù)是指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進(jìn)行處理和分析的數(shù)據(jù)集合,需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能的海量、高增長率和多樣性的信息資產(chǎn)
特點(diǎn)
早期的4V:
- Volume:巨量的數(shù)據(jù)(采集、存儲和計算的數(shù)據(jù)量都非常大)GB、TB、PB、EB、ZB、YB、BB、NB、DB
- Variety:多樣性(數(shù)據(jù)的形式和來源多樣性,包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),例如網(wǎng)絡(luò)日志、音頻、視頻、圖片等數(shù)據(jù))
- Value:低價值(數(shù)據(jù)量大,但是價值低。很多都是無用的數(shù)據(jù)。)
- Velocity:高速(數(shù)據(jù)的創(chuàng)建、存儲、分析都要求被高速處理。比例電商個人推薦)
后來的5V:
- Veracity :真實(確保數(shù)據(jù)的真實,才能保證分析的結(jié)果正確)
應(yīng)用場景
- 倉儲物流(智能調(diào)撥,貨總在離消費(fèi)者最近的地方)
- 電商零售(啤酒和紙尿褲的案例、個人推薦、雙十一實時銷售大屏)
- 汽車(無人駕駛汽車)
- 電信(針對不同的人群推出不同的套餐)
- 生物醫(yī)學(xué)(解讀DNA)
- 人工智能(阿爾法狗)
- 智慧城市等
發(fā)展趨勢
- 15年提出 實施大數(shù)據(jù)戰(zhàn)略,重要的發(fā)展機(jī)遇
- 17年19大報告明確指出,同年,25所高校成功申請開設(shè)大數(shù)據(jù)課程
- 2020年再次強(qiáng)調(diào)
- 大數(shù)據(jù)屬于高薪行業(yè),大牛少,升職壓力小
- 需求大,薪水高
職業(yè)發(fā)展路線
目前大數(shù)據(jù)高、中、低檔次的人才都很缺。
從職業(yè)來看:大數(shù)據(jù)開發(fā)、挖掘、算法、架構(gòu)。
從級別來看:工程師、高級工程師、架構(gòu)師、科學(xué)家。
大數(shù)據(jù)相關(guān)崗位很多:ETL工程師,數(shù)據(jù)倉庫工程師、實時流處理工程師、用戶畫像工程師、數(shù)據(jù)分析師、數(shù)據(jù)挖掘工程師、大數(shù)據(jù)開發(fā)工程師、大數(shù)據(jù)產(chǎn)品經(jīng)理、可視化工程師、爬蟲工程師、大數(shù)據(jù)運(yùn)營經(jīng)理、大數(shù)據(jù)架構(gòu)師、數(shù)據(jù)科學(xué)家
Hadoop簡介
定義
Hadoop是一個適合大數(shù)據(jù)的分布式存儲和計算平臺
廣義上講Hadoop代表大數(shù)據(jù)的一個技術(shù)生態(tài)圈,例如:HDFS分布式文件存儲)、MapReduce分布式離線計算、Hive數(shù)據(jù)倉庫、HBase海量劣勢非關(guān)系型數(shù)據(jù)庫、Flume數(shù)據(jù)采集工具、SqooqETL工具、Kafka高吞吐消息中間件等
發(fā)展歷史
- Hadoop起源于Nutch,創(chuàng)始人Doug Cutting,Nutch是一個開源Java實現(xiàn)的搜索引擎。
- Google的三篇論文 GFS:谷歌的分布式文件存儲系統(tǒng);MapReduce:google的分布式計算框架;BigTable:大型分布式數(shù)據(jù)庫,演變關(guān)系:GFS->HDFS,Google MapReduce->MapReduce,BigTable->Hbase
- 2005年,Hadoop作為Lucene的子項目Nuthc的一部分引入Apache
- 2006年,Hadoop從Nutch剝離出來獨(dú)立
- 2008年,Hadoop已經(jīng)成為Apache頂級項目
Hadoop的名字來源于Hadoop支付Doug Cutting兒子的毛絨玩具象。
Hadoop的特點(diǎn)
- 擴(kuò)容能力:Hadoop是計算機(jī)集群內(nèi)分配數(shù)據(jù)并完成計算任務(wù),集群可以方便擴(kuò)展到很多節(jié)點(diǎn)
- 低成本:Hadoop通過普通廉價的服務(wù)器集群分發(fā)及處理數(shù)據(jù),所以成本低
- 高效率: 可以在節(jié)點(diǎn)之間動態(tài)并行的移動數(shù)據(jù)
- 可靠性:自動維護(hù)數(shù)據(jù)的多份復(fù)制(副本),并且任務(wù)失敗能自動重新部署計算任務(wù)
發(fā)行版
- Apache Hadoop 原始版本
- 軟件收費(fèi)版本ClouderaManager(CDH)--生產(chǎn)環(huán)境使用
- Hortonworks版本(HDP)
版本號變更
0.x:Hadoop最早的一個開源版本,在此基礎(chǔ)上有了1.x和2.x
1.x:主要修復(fù)1.x的一下bug
2.x:架構(gòu)產(chǎn)生重大變化,引入了yarn平臺等許多新特性
3.x:EC技術(shù)、Yarn的時間軸服務(wù)等新特性
優(yōu)劣勢
Hadoop的優(yōu)點(diǎn)
- Hadoop具有存儲和處理數(shù)據(jù)能力的可靠性
- Hadoop通過可用的計算機(jī)集群分配數(shù)據(jù)。完成存儲計算任務(wù),集群方便擴(kuò)展,具有擴(kuò)展性
- Hadoop能夠在節(jié)點(diǎn)之間動態(tài)移動數(shù)據(jù),并保證各個節(jié)點(diǎn)的動態(tài)平衡,處理速度非??欤哂懈咝?/li>
- Hadoop能夠自動保存數(shù)據(jù)的多個副本,具有容錯性
Hadoop的缺點(diǎn)
- Hadoop不使用低延遲數(shù)據(jù)訪問(無法快速的返回結(jié)果)
- 不能高效的存儲大量小文件(大量的小文件會浪費(fèi)NameNode的內(nèi)存)
- 不支持并發(fā)寫入并任意修改文件
Hadoop的重要組成
HDFS(Hadoop Distribute File System)

HDFS:
- NameNode:Master角色 ,管理和維護(hù)元數(shù)據(jù),存儲文件的元數(shù)據(jù),比如文件名、文件目錄結(jié)構(gòu)、文件屬性(生成時間、副本數(shù)、文件權(quán)限),以及每個文件的塊列表和塊所在的DataNode等。
- DataNode:slave角色,本地文件系統(tǒng)存儲文件塊數(shù)據(jù),以及塊數(shù)據(jù)的校驗。
- SecondaryNameNode(2nn):輔助NameNode更好的工作,用來監(jiān)控HDFS狀態(tài)的輔助后臺程序, 每隔一段時間獲取HDFS元數(shù)據(jù)快照。
MapReduce:一個分布式離線并行計算框架
分而治之思想:

- Map階段:每個節(jié)點(diǎn)負(fù)責(zé)一部分?jǐn)?shù)據(jù)的計算,每個節(jié)點(diǎn)得到部分結(jié)果。
- Reduce階段:把之前Map階段輸出結(jié)果進(jìn)行匯總得到最終結(jié)果。
Yarn:作業(yè)調(diào)度與集群資源管理的框架
計算資源協(xié)調(diào)

Resource Manager 相當(dāng)于Master角色,與客戶端交互,處理客戶端請求,監(jiān)控NodeManager角色,Node Manager相當(dāng)于Slave角色。Container真正負(fù)責(zé)運(yùn)行一個Task,可以理解為一個虛擬資源集合。AppMaster:為應(yīng)用申請資源,任務(wù)監(jiān)控、容錯。
Yarn中有如下幾個主要角色,同樣,既是角色名、也是進(jìn)程名,也代指所在計算機(jī)節(jié)點(diǎn)名稱。
- ResourceManager(rm):處理客戶端請求,啟動、監(jiān)控ApplicationMaster。監(jiān)控NodeManager、資源分配與調(diào)度
- NodeManager(nm):單個節(jié)點(diǎn)上的資源管理、處理來自ResourceManager的命令,處理來之ApplicationManager的命令
- ApplicationMaster(am):數(shù)據(jù)切分、為應(yīng)用程序申請資源,并分配內(nèi)部任務(wù)、任務(wù)監(jiān)控與容錯。
- Containeer:對于任務(wù)運(yùn)行環(huán)境的抽象,封裝了CPU、內(nèi)存等多維度資源以及環(huán)境變量、啟動命令等任務(wù)運(yùn)行相關(guān)的信息。
ResourceManager是老大,NodeManager是小弟,ApplicationMaster是計算任務(wù)專員
Common
支持其他模塊的工具模塊(configuration、RPC、序列化機(jī)制、日志操作)