Cascading——针对Hadoop MapReduce的数据处理API
http://www.hadooper.cn/dct/page/65670
Cascading——針對(duì)Hadoop MapReduce的數(shù)據(jù)處理API
????????Cascading API的核心概念是管道和流。所謂管道,就是一系列處理步驟(解析、循環(huán)、過(guò)濾等等),這些步驟定義了將要進(jìn)行的數(shù)據(jù)處理,而流就是帶有數(shù)據(jù)源與數(shù)據(jù)接收 器(data-sink)的管道的聯(lián)合。 Cascading是一個(gè)新式的針對(duì)Hadoop clusters的數(shù)據(jù)處理API,它使用富于表現(xiàn)力的API來(lái)構(gòu)建復(fù)雜的處理工作流,而不是直接實(shí)現(xiàn)Hadoop MapReduce的 算法。
????????該處理API使開(kāi)發(fā)者可以快速裝配復(fù)雜的分布式流程,而無(wú)需“考 慮”MapReduce。 同時(shí)還可以基于流程之間的依賴及其它元數(shù)據(jù)信息來(lái)有效地進(jìn)行調(diào)度。 Cascading API的核心概念是管道和流。所謂管道,就是一系列處理步驟(解析、循環(huán)、過(guò)濾等等),這些步驟定義了將要進(jìn)行的數(shù)據(jù)處理,而流就是帶有數(shù)據(jù)源與數(shù)據(jù)接收 器(data-sink)的管道的聯(lián)合。換句話說(shuō),流就是有數(shù)據(jù)通過(guò)的管道。再進(jìn)一步,cascade就是多個(gè)流的鏈接、分支和分組。 該API提供了很多關(guān)鍵特性:
????????基于依賴的“拓?fù)湔{(diào)度 (Toplogical Scheduler)”及MapReduce規(guī) 劃——這是cascading API的兩個(gè)關(guān)鍵組件,它們可以基于依賴對(duì)流的調(diào)用進(jìn)行調(diào)度;因?yàn)槠鋱?zhí)行順序獨(dú)立于構(gòu)造順序,這樣就可以對(duì)部分流和cascades進(jìn)行并發(fā)調(diào)用。此外, 各種流的步驟被智能地轉(zhuǎn)換成對(duì)應(yīng)于hadoop cluster的map-reduce調(diào)用。 事件通知——流的各種步驟可以通過(guò)回調(diào)進(jìn)行通知,以此告訴主機(jī)應(yīng)用去報(bào)告和響應(yīng)數(shù)據(jù)處理的過(guò)程。 腳本化——Cascading API有針對(duì)Jython、Groovy和JRuby的腳本化接口——這使其適合于常見(jiàn)的動(dòng)態(tài)JVM語(yǔ)言
?
總結(jié)
以上是生活随笔為你收集整理的Cascading——针对Hadoop MapReduce的数据处理API的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring+quartz 完整例子
- 下一篇: 数据仓库之 ETL漫谈