大資料測試之hadoop初探
Hadoop的歷史
這裡就不多說了,網上很多資料,總而言之對於hadoop谷歌和雅虎對於ta的貢獻功不可沒。更多介紹請自行檢視這裡:
Hadoop的應用場景
資料分析,如日誌系統、推薦系統
離線計算
海量資料儲存
Hadoop的核心
Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的資料提供了儲存,則MapReduce為海量的資料提供了計算。
這裡特別需要注意的是hadoop是一個總稱,主要由HDFS和MapReduce組成。其中MapReduce可以獨立使用, 使用者只要繼承MapReduceBase,提供分別實現Map和Reduce的兩個類,並註冊Job即可自動分散式執行
HDFS
ta是 Hadoop分散式檔案系統,是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的資料訪問,適合那些有著超大資料集的應用程式。可以加入QQ交流群 522720170一起來學習。
那麼HDFS有什麼優勢嗎?顯然非常多,大致有如下幾點:
1、適合儲存大資料的檔案,T級別以上或者一大坨的資料
2、這些大資料檔案被打散儲存,儲存在不同的計算器上,這樣方便快速的讀取
3、一次寫入不能做變化了,如果變化也只能在末尾新增,也就是不支援動態改變檔案內容
4、 同一個檔案塊副本會分配到其它某幾個主機上,如果其中一臺主機失效,可以迅速找另一塊副本取檔案
5、不用多說了,一堆廉價的機器就可以撐起大資料叢集
瞭解HDFS之後我們來看看他的儲存結構,看圖說話
上圖的解釋如下:
-
HDFS 內部的所有通訊都基於標準的 TCP/IP 協議
-
NameNode(僅一個), 儲存整個檔案系統的目錄資訊、檔案資訊及分塊資訊。以前如果NameNode掛了那就完蛋了,但是hadoop2.x之後可以有備用使用了。
-
DataNode可以分佈在不同的機器上,用來儲存在 HDFS 中的檔案被分成塊(block)
-
block塊的大小(通常為 64MB)和複製的塊數量在建立檔案時由客戶機決定。
-
NameNode 依賴來自每個 DataNode 的定期心跳訊息。如果 DataNode 不能傳送心跳訊息,NameNode 將採取修復措施,重新複製在該節點上丟失的塊
MapReduce
ta大家可以理解為程式設計模型,主要就是完成對資料的處理的。當HDFS完成儲存之後,對海量資料的分析處理就要依靠MapReduce了。簡單來理解就是先對資料進行map劃分,在對資料進行reduce合併,如下圖。
為了讓大家更好的理解,這裡舉個例子。假設小強測試品牌學員群有上億的學員(這是我們的目標,嘿嘿,官網)我們想找出其中薪水最高的那個人。放到MapReduce裡大概是這樣的過程:將資料扔到block中,然後進行map找到最高的,然後再reduce彙總分析找出最大的。這個過程非常複雜要經歷key-value的產生重組等過程,但是hadoop已經幫我們實現了,我們只需要編寫相應的命令即可。
hadoop大資料處理的意義
Hadoop得以在大資料處理應用中廣泛應用得益於其自身在資料提取、變形和載入(ETL)方面上的天然優勢。
Hadoop的分散式架構,將大資料處理引擎儘可能的靠近儲存,對例如像ETL這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向儲存。
Hadoop的MapReduce功能實現了將單個任務打碎,並將碎片任務(Map)傳送到多個節點上,之後再以單個資料集的形式載入(Reduce)到資料倉儲裡
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2652993/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小白學習大資料測試之hadoop大資料Hadoop
- 大資料測試之ETL大資料
- 小白學習大資料測試之hadoop hdfs和MapReduce小實戰大資料Hadoop
- 大資料測試學習筆記之測試工具集大資料筆記
- 大資料測試之揭秘大資料的背景與發展大資料
- 大資料測試與 傳統資料庫測試大資料資料庫
- 大資料時代之hadoop(一):hadoop安裝大資料Hadoop
- 大資料時代之hadoop(三):hadoop資料流(生命週期)大資料Hadoop
- 功能測試之存量資料新與增資料測試
- 解密!傳統測試 vs 大資料測試解密大資料
- 大資料測試技術——課堂測試大資料
- 大資料時代之hadoop(二):hadoop指令碼解析大資料Hadoop指令碼
- 大資料學習之Hadoop如何高效處理大資料大資料Hadoop
- [原創] 大資料測試大資料
- 什麼是大資料測試?大資料測試實現步驟有哪些?大資料
- 大資料之 Hadoop學習筆記大資料Hadoop筆記
- Hadoop大資料平臺之HBase部署Hadoop大資料
- Hadoop大資料平臺之Kafka部署Hadoop大資料Kafka
- 大資料hadoop資料大資料Hadoop
- 大資料hadoop入門之hadoop家族產品詳解大資料Hadoop
- Hadoop大資料實戰系列文章之安裝HadoopHadoop大資料
- 大資料之Hadoop偽分散式的搭建大資料Hadoop分散式
- 測試資料之自動生成
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- hadoop基準測試_Hadoop TeraSort基準測試Hadoop
- 測試眼裡的Hadoop系列 之TerasortHadoop
- 大資料技術之Hadoop(入門)第1章 大資料概論大資料Hadoop
- 大資料技術之Hadoop(入門) 第2章 從Hadoop框架討論大資料生態大資料Hadoop框架
- 大資料hadoop工具大資料Hadoop
- Hadoop大資料部署Hadoop大資料
- 大資料時代之hadoop(五):hadoop 分散式計算框架(MapReduce)大資料Hadoop分散式框架
- [原創]淺談大資料測試大資料
- Hadoop大資料實戰系列文章之HiveHadoop大資料Hive
- Hadoop大資料實戰系列文章之HBaseHadoop大資料
- Hadoop大資料實戰系列文章之ZookeeperHadoop大資料
- 軟體測試管理初探
- 軟體測試之資料庫測試技術系列七資料庫
- Hadoop測試TeraSortHadoop