Cascading——針對Hadoop MapReduce的數據處理API

Hadoopp 12年前發布 | 1K 次閱讀 CCleaner

        Cascading API的核心概念是管道和流。所謂管道,就是一系列處理步驟(解析、循環、過濾等等),這些步驟定義了將要進行的數據處理,而流就是帶有數據源與數據接收 器(data-sink)的管道的聯合。 Cascading是一個新式的針對Hadoop clusters的數據處理API,它使用富于表現力的API來構建復雜的處理工作流,而不是直接實現Hadoop MapReduce的 算法。

        該 處理API使開發者可以快速裝配復雜的分布式流程,而無需“考 慮”MapReduce。 同時還可以基于流程之間的依賴及其它元數據信息來有效地進行調度。 Cascading API的核心概念是管道和流。所謂管道,就是一系列處理步驟(解析、循環、過濾等等),這些步驟定義了將要進行的數據處理,而流就是帶有數據源與數據接收 器(data-sink)的管道的聯合。換句話說,流就是有數據通過的管道。再進一步,cascade就是多個流的鏈接、分支和分組。 該API提供了很多關鍵特性:

        基于依賴的“拓撲調度 (Toplogical Scheduler)”及MapReduce規 劃——這是cascading API的兩個關鍵組件,它們可以基于依賴對流的調用進行調度;因為其執行順序獨立于構造順序,這樣就可以對部分流和cascades進行并發調用。此外, 各種流的步驟被智能地轉換成對應于hadoop cluster的map-reduce調用。 事件通知——流的各種步驟可以通過回調進行通知,以此告訴主機應用去報告和響應數據處理的過程。 腳本化——Cascading API有針對Jython、Groovy和JRuby的腳本化接口——這使其適合于常見的動態JVM語言

查看英文原文:Cascading - Data Processing API for Hadoop MapReduce

 本文由用戶 Hadoopp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!