要了解什么是Hadoop,我們必須首先了解與大數(shù)據(jù)和傳統(tǒng)處理系統(tǒng)有關(guān)的問題。前進(jìn),我們將討論什么是Hadoop,以及Hadoop如何解決與大數(shù)據(jù)相關(guān)的問題。我們還將研究CERN案例研究,以突出使用Hadoop的好處。
在之前的博客“ 大數(shù)據(jù)教程”中,我們已經(jīng)詳細(xì)討論了大數(shù)據(jù)以及大數(shù)據(jù)的挑戰(zhàn)。在此博客中,我們將討論:
1、傳統(tǒng)方法的問題
2、Hadoop的演變
3、Hadoop的
4、Hadoop即用解決方案
5、何時使用Hadoop?
6、什么時候不使用Hadoop?
一、CERN案例研究
大數(shù)據(jù)正在成為組織的機(jī)會?,F(xiàn)在,組織已經(jīng)意識到他們可以通過大數(shù)據(jù)分析獲得很多好處,如下圖所示。他們正在檢查大型數(shù)據(jù)集,以發(fā)現(xiàn)所有隱藏的模式,未知的相關(guān)性,市場趨勢,客戶偏好和其他有用的業(yè)務(wù)信息。
這些分析結(jié)果正在幫助組織進(jìn)行更有效的營銷,新的收入機(jī)會,更好的客戶服務(wù)。他們正在提高運營效率,與競爭對手組織相比的競爭優(yōu)勢以及其他業(yè)務(wù)利益。
什么是Hadoop –大數(shù)據(jù)分析的好處
因此,讓我們繼續(xù)前進(jìn),了解在兌現(xiàn)大數(shù)據(jù)機(jī)會方面與傳統(tǒng)方法相關(guān)的問題。
二、傳統(tǒng)方法的問題
在傳統(tǒng)方法中,主要問題是處理數(shù)據(jù)的異構(gòu)性,即結(jié)構(gòu)化,半結(jié)構(gòu)化和非結(jié)構(gòu)化。RDBMS主要關(guān)注于銀行交易,運營數(shù)據(jù)等結(jié)構(gòu)化數(shù)據(jù),而Hadoop則專注于文本,視頻,音頻,F(xiàn)acebook帖子,日志等半結(jié)構(gòu)化,非結(jié)構(gòu)化數(shù)據(jù)。RDBMS技術(shù)是一種經(jīng)過驗證的,高度一致,成熟的系統(tǒng)許多公司的支持。另一方面,由于大數(shù)據(jù)(主要由不同格式的非結(jié)構(gòu)化數(shù)據(jù)組成)對Hadoop提出了需求。
現(xiàn)在讓我們了解與大數(shù)據(jù)相關(guān)的主要問題是什么。因此,繼續(xù)前進(jìn),我們可以了解Hadoop是如何成為解決方案的。
什么是Hadoop –大數(shù)據(jù)問題
第一個問題是存儲大量數(shù)據(jù)。
無法在傳統(tǒng)系統(tǒng)中存儲大量數(shù)據(jù)。原因很明顯,存儲將僅限于一個系統(tǒng),并且數(shù)據(jù)正在以驚人的速度增長。
第二個問題是存儲異構(gòu)數(shù)據(jù)。
現(xiàn)在,我們知道存儲是一個問題,但是讓我告訴您,這只是問題的一部分。由于我們討論了數(shù)據(jù)不僅龐大,而且還以各種格式存在,例如:非結(jié)構(gòu)化,半結(jié)構(gòu)化和結(jié)構(gòu)化。因此,您需要確保您擁有一個系統(tǒng)來存儲從各種來源生成的所有這些種類的數(shù)據(jù)。
第三個問題是訪問和處理速度。
硬盤容量正在增加,但磁盤傳輸速度或訪問速度并未以相似的速度增加。讓我以一個示例為您進(jìn)行解釋:如果您只有一個100 Mbps I / O通道,并且正在處理1TB數(shù)據(jù),則大約需要2.91個小時?,F(xiàn)在,如果您有四臺具有一個I / O通道的計算機(jī),則對于相同數(shù)量的數(shù)據(jù),大約需要43分鐘。因此,與存儲大數(shù)據(jù)相比,訪問和處理速度是更大的問題。
在了解什么是Hadoop之前,讓我們首先了解一下Hadoop在一段時間內(nèi)的發(fā)展。
Hadoop的演變
2003年,道格·切特(Doug Cutting)啟動了Nutch項目,以處理數(shù)十億次搜索并為數(shù)百萬個網(wǎng)頁建立索引。2003年10月下旬– Google發(fā)布帶有GFS(Google文件系統(tǒng))的論文。2004年12月,Google發(fā)布了MapReduce論文。在2005年,Nutch使用GFS和MapReduce進(jìn)行操作。2006年,雅虎與Doug Cutting及其團(tuán)隊合作,基于GFS和MapReduce創(chuàng)建了Hadoop。如果我告訴您,您會感到驚訝,雅虎于2007年開始在1000個節(jié)點的群集上使用Hadoop。
2008年1月下旬,雅虎向Apache Software Foundation發(fā)布了Hadoop作為一個開源項目。2008年7月,Apache通過Hadoop成功測試了4000個節(jié)點的集群。2009年,Hadoop在不到17小時的時間內(nèi)成功整理了PB級數(shù)據(jù),以處理數(shù)十億次搜索并為數(shù)百萬個網(wǎng)頁建立索引。在2011年12月,Apache Hadoop發(fā)布了1.0版。2013年8月下旬,發(fā)布了2.0.6版。
當(dāng)我們討論這些問題時,我們發(fā)現(xiàn)分布式系統(tǒng)可以作為解決方案,而Hadoop提供了相同的解決方案?,F(xiàn)在,讓我們了解什么是Hadoop。
三、什么是Hadoop?
Hadoop是一個框架,它允許您首先在分布式環(huán)境中存儲大數(shù)據(jù),以便可以并行處理它。 Hadoop中基本上有兩個組件:
1、大數(shù)據(jù)Hadoop認(rèn)證培訓(xùn)
2、講師指導(dǎo)的課程現(xiàn)實生活中的案例研究評估終身訪問探索課程
什么是Hadoop – Hadoop框架
第一個是用于存儲的HDFS(Hadoop分布式文件系統(tǒng)),它使您可以在集群中存儲各種格式的數(shù)據(jù)。第二個是YARN,用于Hadoop中的資源管理。它允許對數(shù)據(jù)進(jìn)行并行處理,即跨HDFS存儲。
讓我們首先了解HDFS。
HDFS
HDFS創(chuàng)建一個抽象,讓我為您簡化一下。與虛擬化類似,您可以在邏輯上將HDFS視為用于存儲大數(shù)據(jù)的單個單元,但是實際上您是在分布式方式下跨多個節(jié)點存儲數(shù)據(jù)。HDFS遵循主從架構(gòu)。
什么是Hadoop – HDFS
在HDFS中,名稱節(jié)點是主節(jié)點,數(shù)據(jù)節(jié)點是從節(jié)點。 Namenode包含有關(guān)存儲在Data節(jié)點中的數(shù)據(jù)的元數(shù)據(jù),例如哪個數(shù)據(jù)塊存儲在哪個數(shù)據(jù)節(jié)點中,數(shù)據(jù)塊的復(fù)制位置在哪里等 。實際數(shù)據(jù)存儲在Data Nodes中。
我還想補充一下,實際上我們復(fù)制了數(shù)據(jù)節(jié)點中存在的數(shù)據(jù)塊,默認(rèn)復(fù)制因子是3。 由于我們使用的是商用硬件,并且我們知道這些硬件的故障率很高,所以如果其中一個DataNodes失敗,HDFS將仍然具有那些丟失的數(shù)據(jù)塊的副本。 您還可以根據(jù)需要配置復(fù)制因子。您可以閱讀HDFS教程,詳細(xì)了解HDFS。
四、Hadoop即解決方案
讓我們了解Hadoop如何為剛剛討論的大數(shù)據(jù)問題提供解決方案。
什么是Hadoop – Hadoop即解決方案
第一個問題是存儲大數(shù)據(jù)。
HDFS提供了一種分布式大數(shù)據(jù)存儲方式。您的數(shù)據(jù)存儲在整個DataNode的塊中,您可以指定塊的大小?;旧希绻鷵碛?12MB的數(shù)據(jù),并且已經(jīng)配置了HDFS,那么它將創(chuàng)建128MB的數(shù)據(jù)塊。 因此,HDFS將數(shù)據(jù)分為512/128 = 4的4個塊,并將其存儲在不同的DataNode上,還將在不同的DataNode上復(fù)制數(shù)據(jù)塊。現(xiàn)在,由于我們正在使用商品硬件,因此存儲已不是難題。
它還解決了縮放問題。它著重于水平縮放而不是垂直縮放。您始終可以根據(jù)需要隨時在HDFS群集中添加一些額外的數(shù)據(jù)節(jié)點,而不是擴(kuò)展DataNodes的資源。讓我為您總結(jié)一下,基本上是用于存儲1 TB的數(shù)據(jù),您不需要1 TB的系統(tǒng)。您可以在多個128GB或更少的系統(tǒng)上執(zhí)行此操作。
下一個問題是存儲各種數(shù)據(jù)。
借助HDFS,您可以存儲各種數(shù)據(jù),無論是結(jié)構(gòu)化,半結(jié)構(gòu)化還是非結(jié)構(gòu)化。由于在HDFS中,沒有預(yù)轉(zhuǎn)儲模式驗證。并且它也遵循一次寫入和多次讀取模型。因此,您只需寫入一次數(shù)據(jù),就可以多次讀取數(shù)據(jù)以尋找見解。
Hird的挑戰(zhàn)是訪問和處理數(shù)據(jù)更快。
是的,這是大數(shù)據(jù)的主要挑戰(zhàn)之一。為了解決該問題,我們將處理移至數(shù)據(jù),而不是將數(shù)據(jù)移至處理。這是什么意思?而不是將數(shù)據(jù)移動到主節(jié)點然后進(jìn)行處理。在MapReduce中,處理邏輯被發(fā)送到各個從屬節(jié)點,然后在不同的從屬節(jié)點之間并行處理數(shù)據(jù)。然后,將處理后的結(jié)果發(fā)送到主節(jié)點,在該主節(jié)點上合并結(jié)果,并將響應(yīng)發(fā)送回客戶端。
在YARN架構(gòu)中,我們有ResourceManager和NodeManager。ResourceManager可能會或可能不會與NameNode配置在同一臺機(jī)器上。 但是,應(yīng)該將NodeManager配置在存在DataNode的同一臺計算機(jī)上。
YARN通過分配資源和安排任務(wù)來執(zhí)行您的所有處理活動。
什么是Hadoop – YARN
它具有兩個主要組件,即ResourceManager和NodeManager。
ResourceManager再次是主節(jié)點。它接收處理請求,然后將請求的各個部分相應(yīng)地傳遞到相應(yīng)的NodeManager,在此進(jìn)行實際處理。NodeManager安裝在每個DataNode上。它負(fù)責(zé)在每個單個DataNode上執(zhí)行任務(wù)。
我希望現(xiàn)在您對什么是Hadoop及其主要組件有所了解。讓我們繼續(xù)前進(jìn),了解何時使用和何時不使用Hadoop。
何時使用Hadoop?
Hadoop用于:
1、搜索 – Yahoo,亞馬遜,Zvents
2、日志處理 – Facebook,雅虎
3、數(shù)據(jù)倉庫 – Facebook,AOL
4、視頻和圖像分析 –紐約時報,Eyealike
到目前為止,我們已經(jīng)看到了Hadoop如何使大數(shù)據(jù)處理成為可能。但是在某些情況下,不建議使用Hadoop。
什么時候不使用Hadoop?
以下是其中一些方案:
1、低延遲數(shù)據(jù)訪問:快速訪問少量數(shù)據(jù)
2、多種數(shù)據(jù)修改:僅當(dāng)我們主要關(guān)注讀取數(shù)據(jù)而不修改數(shù)據(jù)時,Hadoop才是更好的選擇。
3、大量小文件:Hadoop適用于只有少量大文件的情況。
在了解了最合適的用例之后,讓我們繼續(xù)研究Hadoop創(chuàng)造奇跡的案例研究。
Hadoop-CERN案例研究
瑞士的大型強(qiáng)子對撞機(jī)是世界上最大,功能最強(qiáng)大的機(jī)器之一。它配備了約1.5億個傳感器,每秒產(chǎn)生PB的數(shù)據(jù),并且數(shù)據(jù)在不斷增長。
歐洲核子研究組織(CERN)的研究表明,這些數(shù)據(jù)在數(shù)量和復(fù)雜性方面一直在擴(kuò)大,其中一項重要任務(wù)是滿足這些可擴(kuò)展的需求。因此,他們設(shè)置了Hadoop集群。通過使用Hadoop,他們限制了硬件成本和維護(hù)復(fù)雜性。
他們整合了Oracle和Hadoop,并獲得了整合的優(yōu)勢。 Oracle優(yōu)化了他們的在線交易系統(tǒng)和Hadoop,為他們提供了可擴(kuò)展的分布式數(shù)據(jù)處理平臺。他們設(shè)計了一個混合系統(tǒng),首先將數(shù)據(jù)從Oracle遷移到Hadoop。然后,他們使用Oracle API對來自O(shè)racle的Hadoop數(shù)據(jù)執(zhí)行查詢。他們還使用諸如 Avro& Parquet之類的Hadoop數(shù)據(jù)格式進(jìn)行高性能分析,而無需更改連接到Oracle的最終用戶應(yīng)用程序。
他們在CERN-IT Hadoop服務(wù)上使用的主要Hadoop組件:
1、您可以在Hadoop生態(tài)系統(tǒng)中了解每個工具。
2、集成Oracle和Hadoop的技術(shù):
3、將數(shù)據(jù)從Oracle導(dǎo)出到HDFS
4、Sqoop在大多數(shù)情況下都足夠好,他們還采用了其他一些可能的選項,例如自定義提取,Oracle DataPump,流式傳輸?shù)取?br />
從Oracle查詢Hadoop
他們使用Oracle中的數(shù)據(jù)庫鏈接訪問了Hadoop引擎中的表。通過透明地組合Oracle和Hadoop中的數(shù)據(jù),還可以構(gòu)建混合視圖。
使用Hadoop框架處理Oracle數(shù)據(jù)庫中的數(shù)據(jù)
他們使用Hadoop引擎(例如Impala,Spark)來處理從Oracle導(dǎo)出的數(shù)據(jù),然后直接在JDBC中從Spark SQL在RDBMS中讀取該數(shù)據(jù)。
1個
2
3
|
create database link my_hadoop using 'impala-gateway'; select * from big_table@my_hadoop where col1= :val1; |
從Oracle卸載到Hadoop
步驟1:將數(shù)據(jù)卸載到Hadoop
步驟2:將查詢卸載到Hadoop
步驟3:從Oracle查詢訪問Hadoop
使用數(shù)據(jù)庫鏈接從Oracle查詢Apache Hive / Impala表
通過ODBC網(wǎng)關(guān)將查詢分載到Impala(或Hive)
在oracle上創(chuàng)建混合視圖的示例
根據(jù)CERN的案例研究,我們可以得出以下結(jié)論:
1個
2
3
4
5
6
7
|
create view hybrid_view as select * from online_table where date > '2016-10-01' union all select * from archive_table@hadoop where date <= '2016-10-01' |
1、Hadoop具有可伸縮性,非常適合大數(shù)據(jù)分析
2、Oracle已證明可用于并發(fā)事務(wù)性工作負(fù)載
3、解決方案可用于集成Oracle和Hadoop
4、使用混合系統(tǒng)(Oracle + Hadoop)具有巨大的價值:
5、適用于舊版應(yīng)用程序和OLTP工作負(fù)載的Oracle API
6、用于分析工作負(fù)載的商品硬件的可伸縮性
我希望這個博客能為您提供豐富的信息,并為您的知識增加價值。在我們的Hadoop教程系列的下一個博客(即Hadoop教程)中,我們將更詳細(xì)地討論Hadoop,并詳細(xì)了解HDFS和YARN組件的任務(wù)。
既然您已經(jīng)了解了什么是Hadoop,請查看Edureka 的Hadoop培訓(xùn),Edureka是一家受信任的在線學(xué)習(xí)公司,其網(wǎng)絡(luò)遍布全球,共有250,000多名滿意的學(xué)習(xí)者。Edureka大數(shù)據(jù)Hadoop認(rèn)證培訓(xùn)課程使用零售,社交媒體,航空,旅游,金融領(lǐng)域的實時用例,幫助學(xué)習(xí)者成為HDFS,Yarn,MapReduce,Pig,Hive,HBase,Oozie,F(xiàn)lume和Sqoop的專家。
填寫下面表單即可預(yù)約申請免費試聽!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費! 怕學(xué)不會?助教全程陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!
?2007-2022/ mwtacok.cn 北京漫動者數(shù)字科技有限公司 備案號: 京ICP備12034770號 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc