【大數(shù)據(jù)基礎(chǔ)Ep4】《Hadoop權(quán)威指南》讀書筆記P7:MapReduce用法

(合計(jì)946字,用時(shí)30min——)
第1章 初識Hadoop
1.4 不僅僅是批處理
Hadoop:
含義:用于指代一個更大的、多個項(xiàng)目組成的生態(tài)系統(tǒng),而不僅僅是HDFS和MapReduce——這些項(xiàng)目都屬于分布式計(jì)算和大規(guī)模數(shù)據(jù)處理范疇;
組織:這些項(xiàng)目中有許多都是由Apache軟件基金會管理,該基金會為開源軟件項(xiàng)目社區(qū)提供支持,其中包括最初的HTTP server項(xiàng)目(基金會的名稱也來源于這個項(xiàng)目)。
適用場景:
MapReduce:它基本上是一個批處理系統(tǒng),并不適合交互式分析,不可能執(zhí)行一條查詢在幾秒內(nèi)或更短的時(shí)間內(nèi)得到結(jié)果,典型情況下,執(zhí)行查詢需要幾分鐘或更多時(shí)間,因此,MapReduce更適合沒有用戶在現(xiàn)場等待查詢結(jié)果的離線使用場景;
HBase:第一個提供在線訪問的組件,一種使用HDFS做底層存儲的鍵值存儲模型,HBase不僅提供對單行的在線讀/寫訪問,還提供對數(shù)據(jù)塊讀/寫的批操作,這對于在HBase上構(gòu)建應(yīng)用來說是一種很好的解決方案;
YARN(Yet Another Resource Negotiator):集群資源管理系統(tǒng),允許任何一個分布式程序(不僅僅是MapReduce)基于Hadoop集群的數(shù)據(jù)而允許。
與Hadoop協(xié)同工作的處理模式:
Interactive SQL(交互式SQL):利用MapReduce進(jìn)行分發(fā)并使用一個分布式查詢引擎,使得在Hadoop上獲得SQL查詢低延遲響應(yīng)的同時(shí)還能保持對大數(shù)據(jù)集規(guī)模的可擴(kuò)展性;
Iterative processing(迭代處理):許多算法,例如機(jī)器學(xué)習(xí)算法,自身具有迭代性,因此和那種每次迭代都從硬盤加載的方式相比,這種在內(nèi)存中保存每次中間結(jié)果集的方式更加高效——
MapReduce的架構(gòu)不允許這樣,但如果使用Spark就會比較直接,它在使用數(shù)據(jù)集方面展現(xiàn)了一種高度探究的風(fēng)格;
Stream processing(流處理):流系統(tǒng),例如Storm,Spark Streaming或Samza使得在無邊界數(shù)據(jù)流上運(yùn)行實(shí)時(shí)、分布式的計(jì)算,并向Hadoop存儲系統(tǒng)或外部系統(tǒng)發(fā)布結(jié)果成為可能;
Search(搜索):Solr搜索平臺能夠在Hadoop集群上運(yùn)行,當(dāng)文檔加入HDFS后就可對其進(jìn)行索引,且根據(jù)HDFS中存儲的索引為搜索查詢提供服務(wù)。
MapReduce的通用性概念:輸入格式、數(shù)據(jù)集分片等。