1.列舉hadoop生態的各個元件及其功能、以及各個元件之間的相互關係,以圖呈現並加以文字描述。
hdfs(hadoop distributed file system)基於google發布的gfs**設計開發,執行在通用硬體上的分布式檔案系統。
除具備其它分布式檔案系統相同特性外,還有自己的特性:
高容錯性:認為硬體總是不可靠的
高吞吐量:為大量資料訪問的應用提供高吞吐量
支援大檔案儲存:支援儲存tb-pb級別的資料
2.mapreduce
mapreduce是面向大資料並行處理的計算模型、框架和平台。
它包含以下三層含義:
1)mapreduce是乙個基於集群的高效能平行計算平台(cluster infrastructure)。
2)mapreduce是乙個平行計算與執行軟體框架(software framework)。
3)mapreduce是乙個並行程式設計模型與方法(programming model & methodology
3.hbase
hbase是乙個高可靠性、高效能、面向列、可伸縮的分布式儲存系統。
適合於儲存大表資料(表的規模可以達到數十億行以及數百萬列),並且對大表資料的讀、寫訪問可以達到實時級別。
利用hadoop hdfs(hadoop distributed file system)作為其檔案儲存系統,提供實時讀寫的分布式資料庫系統。
利用zookeeper作為協同服務。
4.hive
hive是基於hadoop的資料倉儲軟體,可以查詢和管理pb級別的分布式資料。
hive特性:
靈活方便的etl(extract/transform/load)。
支援mapreduce,tez,spark等多種計算引擎。
可直接訪問hdfs檔案以及hbase。
易用易程式設計。
5.spark
批處理可用於etl(抽取、轉換、載入)。
互動式分析可用於查詢hive資料倉儲。
流處理可用於頁面點選流分析,推薦系統,輿情分析等實時業務
6.streaming
實時分析:如實時日誌處理(故障分析)、交通流量分析(實時車況)等。
7.flink
flink是乙個批處理和流處理結合的統一計算框架,其核心是乙個提供了資料分發以及並行化計算的流資料處理引擎。它的最大亮點是流處理,是業界最頂級的開源流處理引擎。
flink與storm類似,屬於事件驅動型實時流系統。
8.flume
提供從固定目錄下採集日誌資訊到目的地(hdfs, hbase, kafka)能力。
提供實時採集日誌資訊(taildir)到目的地的能力。
flume支援級聯(多個flume對接起來),合併資料的能力。
flume支援按照使用者定製採集資料的能力。
2.對比hadoop與spark的優缺點。
spark優點:
輕:spark核心**有3萬行。
scala語言的簡潔和豐富表達力。
巧妙利用了hadoop和mesos的基礎設施。
快:spark對小資料集可達到亞秒級的延遲。
對大資料集的迭代機器學習即席查詢、圖計算等應用,spark 版本比基於mapreduce、hive和pregel的實現快。
記憶體計算、資料本地性和傳輸優化、排程優化。
靈:spark提供了不同層面的靈活性。
scala語言trait動態混入策略(如可更換的集群排程器、序列化庫)。
允許擴充套件新的資料運算元、新的資料來源、新的language bindings 。
spark支援記憶體計算、多迭代批量處理、即席查詢、流處理和圖計算等多種正規化。
巧:巧妙借力現有大資料元件。
spark借hadoop之勢,與hadoop無縫結合。
圖計算借用pregel和powergraph的api以及powergraph的點分割思想
hadoop的缺點:
表達能力有限
磁碟io開銷大
延遲高任務之間的銜接涉及io開銷
在前乙個任務執行完成之前,其他任務就無法開始,難以勝任複雜、多階段的計算任務
3.如何實現hadoop與spark的統一部署?
由於hadoop mapreduce、hbase、storm和spark等,都可以執行在資源管理框架yarn之上,因此,可以在yarn之上進行統一部署。這些不同的計算框架統一執行在yarn中,可以帶來如下好處:1.計算資源按需伸縮;2.不用負載應用混搭,集群利用率高;3.共享底層儲存,避免資料跨集群遷移
大資料概念
在網際網路技術發展到現今階段,大量日常 工作等事務產生的資料都已經資訊化,人類產生的資料量相比以前有了 式的增長,以前的傳統的資料處理技術已經無法勝任,需求催生技術,一套用來處理海量資料的軟體工具應運而生,這就是大資料!換個角度說,大資料是 1 有海量的資料 2 有對海量資料進行挖掘的需求 3 有對...
大資料 基礎概念
hadoop 分布式系統基礎架構 入門學習資料 spark 基於記憶體的計算框架 spark streaming sparksql spark的重要組成部分 hbase 可伸縮,面向列的分布式雲儲存系統 hive 建立在hadoop上的資料倉儲基礎架構。hive定義了簡單的類sql查詢語言,允許使用...
大資料應用開發 大資料的概念
維基百科定義 大資料是指利用常用軟體工具捕獲,管理和處理資料所耗時間超過可容忍時間的資料集。flume可以進行流式日誌資料的收集 sqoop可以互動關係型資料庫,進行匯入匯出資料 使用爬蟲技術,可以在網上爬取海量網頁資料 1.1 概念 離線批處理,是指對海量歷史資料進處理和分析,生成結果資料,供下一...