Hadoop MapReduce的簡單應(yīng)用Cascading詳解
本節(jié)向大家簡單描述一下Cascading,它是一個簡單的Hadoop MapReduce應(yīng)用,這里和大家分享一下,希望通過本節(jié)的介紹大家對Hadoop MapReduce的應(yīng)用有深刻的理解。
Cascading:一個簡單的Hadoop MapReduce應(yīng)用
Cascading是一個架構(gòu)在Hadoop上的API,用來創(chuàng)建復(fù)雜和容錯數(shù)據(jù)處理工作流。它抽象了集群拓撲結(jié)構(gòu)和配置來快速開發(fā)復(fù)雜分布式的應(yīng)用,而不用考慮背后的MapReduce。
Cascading目前依賴于Hadoop提供存儲和執(zhí)行架構(gòu),但是CascadingAPI為開發(fā)者隔離了Hadoop的技術(shù)細節(jié),提供了不需要改變初始流程工作流定義就可以在不同的計算框架內(nèi)運行的能力。
Cascading使用了“pipeandfilters”(管道和過濾)來定義數(shù)據(jù)處理進程。它支持分隔,合并,分組和排序操作,這是開發(fā)者***需要考慮的操作。NathanMarz提供了一個范例:
GoodbyeMapReduce,HelloCascading.Cascading對于使用Hadoop開發(fā)復(fù)雜應(yīng)用是一個不錯的解決方案。
這篇文章詳細解釋了Cascading整個架構(gòu)和技術(shù)細節(jié):AtechnicaloverviewoftheCascadingsystem
Hadoop和MapReduce介紹:
這里我們看一下Hadoop MapReduce各自的概念。Hadoop是Apache開源組織的一個分布式計算開源框架,在很多大型網(wǎng)站上都已經(jīng)得到了應(yīng)用,如亞馬遜、Facebook和Yahoo等等。它主要由MapReduce的算法執(zhí)行和一個分布式的文件系統(tǒng)HDFS等兩部分組成。一個分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會開發(fā)。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運算和存儲。 簡單地說來,Hadoop是一個可以更容易開發(fā)和運行處理大規(guī)模數(shù)據(jù)的軟件平臺。Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(HadoopDistributedFileSystem),簡稱HDFS。HDFS有著高容錯性(fault-tolerent)的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(highthroughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(largedataset)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式訪問(streamingaccess)文件系統(tǒng)中的數(shù)據(jù)。
HDFS:即HadoopDistributedFileSystem(Hadoop分布式文件系統(tǒng))
HDFS具有高容錯性,并且可以被部署在低價的硬件設(shè)備之上。HDFS很適合那些有大數(shù)據(jù)集的應(yīng)用,并且提供了對數(shù)據(jù)讀寫的高吞吐率。
MapReduce:MapReduce是Google的一項重要技術(shù),它是一個編程模型,用以進行大數(shù)據(jù)量的計算。對于大數(shù)據(jù)量的計算,通常采用的處理手法就是并行計算。至少現(xiàn)階段而言,對許多開發(fā)人員來說,并行計算還是一個比較遙遠的東西。MapReduce就是一種簡化并行計算的編程模型,它讓那些沒有多少并行計算經(jīng)驗的開發(fā)人員也可以開發(fā)并行應(yīng)用。本節(jié)關(guān)于Hadoop MapReduce的簡單應(yīng)用介紹到這里。
【編輯推薦】
- 如何實現(xiàn)Cassandra與Hadoop MapReduce的整合?
- 專家指導(dǎo) 如何進行Hadoop分布式集群配置
- Hadoop集群與Hadoop性能優(yōu)化
- HadoopHBase實現(xiàn)配置簡單的單機環(huán)境
- 深入剖析Hadoop HBase