Hadoop集群數據處理API:Cascading
Cascading是一個架構在
Hadoop上的API,用來創建復雜和容錯數據處理工作流。它抽象了集群拓撲結構和配置來快速開發復雜分布式的應用,而不用考慮背后的MapReduce。
Cascading目前依賴于
Hadoop提供存儲和執行架構,但是Cascading API為開發者隔離了Hadoop的技術細節,提供了不需要改變初始流程工作流定義就可以在不同的計算框架內運行的能力。
Cascading使用了“pipe and filters”(管道和過濾)來定義數據處理進程。它支持分隔,合并,分組和排序操作,這是開發者唯一需要考慮的操作。Nathan Marz提供了一個范例:
Goodbye MapReduce, Hello Cascading. Cascading對于使用Hadoop開發復雜應用是一個不錯的解決方案。
這篇文章詳細解釋了Cascading整個架構和技術細節:
A technical overview of the Cascading system
介紹Hadoop和MapReduce:
Hadoop是Apache開源組織的一個分布式計算開源框架,在很多大型網站上都已經得到了應用,如亞馬遜、非死book和Yahoo等等。它主要由MapReduce的算法執行和一個分布式的文件系統HDFS等兩部分組成。
HDFS:即Hadoop Distributed File System (Hadoop分布式文件系統)
HDFS具有高容錯性,并且可以被部署在低價的硬件設備之上。HDFS很適合那些有大數據集的應用,并且提供了對數據讀寫的高吞吐率。
MapReduce:MapReduce是Google 的一項重要技術,它是一個編程模型,用以進行大數據量的計算。對于大數據量的計算,通常采用的處理手法就是并行計算。至少現階段而言,對許多開發人員來說,并行計算還是一個比較遙遠的東西。MapReduce就是一種簡化并行計算的編程模型,它讓那些沒有多少并行計算經驗的開發人員也可以開發并行應用。