溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop相關概念有哪些

發(fā)布時間:2021-12-10 13:39:39 來源:億速云 閱讀:119 作者:iii 欄目:大數據

這篇文章主要講解了“Hadoop相關概念有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Hadoop相關概念有哪些”吧!

一、大數據的基本概念

1.1、什么是大數據

  大數據指的就是要處理的數據是TB級別以上的數據。大數據是以TB級別起步的。在計算機當中,存放到硬盤上面的文件都會占用一定的存儲空間,例如:

  Hadoop相關概念有哪些Hadoop相關概念有哪些

  文件占用的存儲空間代表的就是該文件的大小,在計算機當中,文件的大小可以采用以下單位來表示,各個單位之間的轉換關系如下:

  Hadoop相關概念有哪些

  平時我們在我們自己的電腦上面常見的就是Byte、KB、MB、GB這幾種,那么究竟什么是大數據呢,大數據的起步是以TB級別開始的,1TB=1024GB,而我們處理的數據可能會到達PB級別,1PB=1024TB,那可想而知,數據量是多么龐大,所以大數據指的就是要處理的數據是TB級別以上的數據。而對于這些TB級別以上的數據,一般情況下,一臺計算機的硬盤存儲空間是無法存儲那么大的數據,我們現(xiàn)在的普通電腦一般都是一塊硬盤,而硬盤容量一般都是500GB左右,有的是1TB,假設現(xiàn)在有1PB的數據要存儲,我們給每一臺計算機配置10塊硬盤,每一塊硬盤都是1T的存儲容量,那么也得要使用100多臺電腦才能夠存儲得下1PB的數據。所以說,當我們的數據規(guī)模達到一定的程度的時候,我們以往的一些問題的解決辦法在這種場景下已經變得不適用了。

1.2、大數據的特征

  Hadoop相關概念有哪些

  大數據,顧名思義,第一個特征就是數據量大,需要非常大的存儲空間進行存儲,而如果要處理這些海量的數據,那么計算量可想而知,所以計算量非常龐大。而這些數據的來源往往也是多樣化的,數據的格式也是多樣化的,在我們平時的應用系統(tǒng)開發(fā)中,我們要處理的數據來源大多數是存儲在數據庫中的數據又或者是存儲在文件當中,而在大數據時代,我們一個系統(tǒng)要處理的數據來源是多種多樣的,這些數據的來源可能是來自數據庫,也可能是來自一些監(jiān)控采集數據,或者是一些科研數據,而數據的格式可能有普通文本,圖片、視頻、音頻、結構化的,非結構化的等等,反正什么樣的數據都有。在大數據時代,數據的增長速度是非常快的,例如我們每天打電話,發(fā)短信,我們打出去的電話和發(fā)出去的短信在移動和聯(lián)通公司都會有相應的記錄,而這樣的數據每天都會產生幾億條,數據量的增長速度可想而知,因此要求處理數據的應用系統(tǒng)的處理速度也要快,當我們想展示一些數據給用戶看時,如果應用系統(tǒng)的處理速度不夠快,那么給用戶的體驗是非常差的。另外,在大數據領域,我們從海里數據中能夠提取到的相對有價值的數據也是非常有限的,我們處理幾十個T的數據,從這些數據當中能夠提取出來的有價值的信息也是非常少的,大數據分析要想得到一些有價值的結果,那么要求數據要比較全。比如,我們想分析一個用戶的購物習慣,她平時喜歡在京東和天貓、淘寶這些電子商務網站上面進行購物,我們分析她在京東商城上面的購物行為時,我們不光要分析她最近一次的購買行為,還要分析她很長一段時間內的歷史購買行為,以及在其他電商網站的購買行為,如果我們真的想一體地分析用戶的生活習慣,那么不光是要分析她的購物行為,還要分析她的社交行為,比如在一些社交網站上面平時和哪些人聯(lián)系最多,平時喜歡討論一些什么話題,從事的職業(yè),年齡,性別等,拿到的數據越全,我們分析的結果就會越準確,所以大數據不光是要求數據量要大,更重要要的是數據要全面,要多維度的,這樣我們提取到的數據才是比較有價值,比較準確的。大數據處理領域在價值這一塊是稀疏型的,從海量數據當中能夠提取到的有價值的數據是非常稀少的。

1.3、存在有大數據的行業(yè)

  放眼觀世界,現(xiàn)在各行各業(yè)每天都會產生大量的數據,21世紀是一個互聯(lián)網時代,一個信息化的時代,我們這一代人都不可避免地在一些IT系統(tǒng)當中留下我們的腳印,存在有大數據的典型的行業(yè)有以下幾個行業(yè):

  Hadoop相關概念有哪些

  互聯(lián)網企業(yè)是最早收集大數據的行業(yè),最典型的代表就是Google和百度,這兩個公司是做搜索引擎的,數量都非常龐大,每天都要去把互聯(lián)網上的各種各樣的網頁信息抓取下來存儲到本地,然后進行分析,處理,當用戶想通過搜索引擎搜索一些他們關心的信息時,Google和百度就從海量的數據當中提取出相對于對用戶而言是有用的信息,然后將提取到的結果反饋給用戶,據說Google存儲的數據量已經到達了上百個PB,這個數據量是非常驚人的。類似于Fackbook這樣的SNS(社交網站)因為用戶量比較多,用戶每天在網站上面分享一些文章,圖片,視頻,音頻等信息,因此每天產生的數據量也是非常龐大的。

二、大數據技術要解決的技術難題

2.1、海量數據如何存儲?

  海量數據的存儲問題也不是今天才有的,很早以前就出現(xiàn)了,一些行業(yè)或者部門因為歷史的積累,數據量也達到了一定的級別,當一臺電腦無法存儲這么龐大的數據時,采用的解決方案是使用NFS(網絡文件系統(tǒng))將數據分開存儲,NFS系統(tǒng)的架構如下圖所示:

  Hadoop相關概念有哪些

  NFS這種解決方案就是同時架設多臺文件服務器,如下圖所示:

  Hadoop相關概念有哪些

  然后在文件服務器上面設置共享目錄,例如圖中顯示的【D:\software、E:\aa\bb、F:\dd\cc、E:\images】

  Hadoop相關概念有哪些

  這樣我們就可以把文件分類存放到各個文件服務器上面的共享目錄當中,一臺電腦的存儲空間不夠用,那么我們就將數據分散到多臺電腦進行存儲,而這些文件服務器上面的共享目錄對于用戶來說是透明的,用戶會以為自己存放數據的【Software、Tools、film、music】這些目錄都是屬于【Itdc.com.local】這臺文件服務器里面的【public】目錄下的子目錄,在NFS系統(tǒng)中,【Itdc.com.local】這臺文件服務器只是起到一個中轉站作用,將用戶需要存放的海量數據分類存放到各個文件系統(tǒng)當中,這就解決了大數據的存儲問題了。當用戶需要訪問分散在各個文件服務器中的文件資源時,它只需要訪問【Itdc.com.local】這臺文件服務器就可以了。

  NFS雖然是解決了海量數據的存儲問題,但是在大數據背景下,這種存儲方案是不適用的,大數據不光是要解決數據存儲問題,更重要的是海量數據的分析,而NFS在海量數據分析方面不能夠充分利用多臺計算機同時進行分析。

2.2、海量數據如何計算

  一個實際的需求場景——日志分析

  對日志中每一個用戶的流量進行匯總就和,如下圖所示:

  Hadoop相關概念有哪些

  對于這樣的一個日志文件,如果只有這么幾行數據,我們一般會采用這樣的處理方式:
    1、讀取一行日志
    2、抽取手機號和流量字段
    3、累加到HashMap中
    4、遍歷輸出結果

  那么問題來了,如果數據量變得很大呢,比如一個日志文件里面有幾個GB數據,

  1. 如果仍然一行一行去讀,那么就會因為磁盤的IO瓶頸導致效率太低,速度太慢。

  2. 如果一次性加載到內存,那么就會因為單臺計算機的內存空間有限而導致內存溢出。

  3. 如果將中間結果全部緩存到HashMap中,那么也會因為單臺計算機的內存空間有限而導致內存溢出。

  4. 可以選擇采用多線程處理,但是依然無法改變資源瓶頸的現(xiàn)實,因為一臺計算器的CPU資源,內存資源,磁盤IO瓶頸是定,創(chuàng)建再多的線程也無法改變這個現(xiàn)實。

  所以當一個日志文件里面存儲了幾個GB數據,那么這種情況下就不能采用這種傳統(tǒng)的處理方式了。可以看到,在大數據背景下,我們一個簡單的業(yè)務場景,比如這里的統(tǒng)計用戶流量,在數據量變得很大的時候,原來不是問題的一些東西現(xiàn)在都成了問題。那么這些問題該如何解決呢?

解決思路一

  縱向擴展,也就是升級硬件,提高單機性能(增加內存,增強CPU、用更高性能的磁盤(如固態(tài)硬盤)),比如可以購買IBM的高端服務器。

  Hadoop相關概念有哪些

  優(yōu)點:

    1、簡單易行
  缺點:

    1、單臺計算機的擴展空間有限,CPU、內存、磁盤再怎么擴展也是有限的,無法無限擴展。

    2、成本高(高端服務器非常昂貴,幾百萬甚至上千萬一臺,一般的小公司承受不起這樣高昂的成本)

解決思路二

  橫向擴展,用多臺節(jié)點分布式集群處理 (通過增加節(jié)點數量提高處理能力,這里說的節(jié)點指的就是一臺計算機)

  Hadoop相關概念有哪些

  核心思想:任務分攤,通過協(xié)作來實現(xiàn)單節(jié)點無法實現(xiàn)的任務。

  優(yōu)點:

    1、成本相對低(可采用普通機器)

    2、易于線性擴展

  缺點:

    系統(tǒng)復雜度增加,我們要將我們的web應用部署到每一個節(jié)點上面,而多個節(jié)點協(xié)同工作時就要考慮以下幾個問題
      1、如何調度資源
      2、任務如何監(jiān)控
      3、中間結果如何調度
      4、系統(tǒng)如何容錯
      5、如何實現(xiàn)眾多節(jié)點間的協(xié)調

    分布式計算的復雜性就體現(xiàn)在這樣的5個問題里面。

三、Hadoop相關概念介紹

 3.1、大數據行業(yè)的標準——Hadoop

  Hadoop是一個開源的可運行于大規(guī)模集群上的分布式文件系統(tǒng)和運行處理基礎框架
  Hadoop擅長于在廉價機器搭建的集群上進行海量數據(結構化與非結構化)的存儲與離線處理。

  Hadoop就是一門用來處理大數據的技術,就是用來解決上述提到的分布式計算里面的5個技術難題的。

3.2、Hadoop的Logo圖片

  Hadoop相關概念有哪些

3.3、Hadoop的由來

  Hadoop相關概念有哪些

3.4、Hadoop的核心組件

3.4.1、海量存儲——HDFS(Hadoop分布式文件系統(tǒng),Hadoop Distributed File System)
  • 分布式易擴展

  • 廉價易得

  • 高吞吐量

  • 高可靠性

3.4.2、分布式并行計算——資源調度(Yarn)+編程模型(MapReduce)
  • 大容量高并發(fā)

  • 封裝分布式實現(xiàn)細節(jié)

  • 大大提高分析效率

3.5、Hadoop的學習路線

  1. Linux系統(tǒng)基本操作能力

  2. java開發(fā)語言

  3. Hadoop核心組件

  4. MapReduce或Spark等編程模型

  5. Zookeeper-Sqoop-Flume等工具組件

  6. NoSQL技術,Hbase

  7. 數據分析挖掘、機器學習、Mahout

3.6、學習Hadoop技術的書籍推薦

  1、Hadoop權威指南第三版
  2、Hadoop技術內幕

  3、Hadoop實戰(zhàn)

感謝各位的閱讀,以上就是“Hadoop相關概念有哪些”的內容了,經過本文的學習后,相信大家對Hadoop相關概念有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI