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