日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 如何為Hadoop選擇最佳彈性MapReduce框架

如何為Hadoop選擇最佳彈性MapReduce框架

來源:程序員人生   發布時間:2014-09-17 07:20:46 閱讀次數:3023次

【編者按】當你開發一些EMR任務時,Hadoop的Python框架是有用的。 mrjob、Dumbo以及PyDoop三個開發框架都可以在彈性MapReduce上正常運行,并能夠幫助用戶避免不必要的和繁瑣的Java開發工作。 但是當你需要更多地訪問Hadoop內部時,可考慮Dumbo或PyDoop。本文來自TachTarget。

以下為原文:

亞馬遜Web服務的彈性MapReduce是一項基于Hadoop的實施,它可允許你運行大型的預處理工作,如格式轉換和數據聚合等。雖然我們可以選擇很多的編程語言來對這些任務進行編碼,但是時間緊張的開發人員更需要一個能夠最大限度減少編碼開銷的編程框架。 Mrjob、 Dumbo 以及 PyDoop 是三個基于Python可滿足以上需求的彈性MapReduce框架。

那么,為什么諸如Java或Apache Pig之類的流行編程語言無法勝任這項任務呢?亞馬遜的彈性MapReduce(EMR)任務一般都是采用Java語言編寫的,但即便是簡單的應用程序也可能需要比用Python開發的腳本程序更多的代碼行。 Pig 是一種專為載入和轉換數據的應用而設計的高級數據處理語言,但是這并不是一種通用的編程語言。

如果開發人員一方面比較喜歡使用比Java更高級的編程語言,一方面又需要使用比Pig數據管理更多的功能,那么他們應當嘗試使用下Python。 目前,有三種基于Python的EMR框架可供選擇: Mrjob、Dumbo 以及 PyDoop。

mrjob開源開發包

Mrjob是一種可在亞馬遜EMR上或在你的本地機器上運行任務的開源包。 彈性MapReduce任務是在單個Python類中定義的,而其中包含了與mappers、reducers以及combiners相關的方法。 

Hadoop的大部分較低層次詳細信息都隱藏在mrjob抽象操作下,這是有好處的。 這個簡化的模式可允許開發人員把主要精力關注在map-reduce功能的邏輯設計上。 但是,這卻意味著你將受制于Hadoop API的一個子集。 如果你需要訪問更多的Hadoop API,那么Dumbo 或 PyDoop可能是一個更好的選擇。

使用mrjob的一個重要優點就是,它不需要安裝Hadoop。 開發人員可以在一臺單一設備上使用Python、mrjob以及其他來編寫、測試和調試彈性MapReduce程序。 一旦程序準備就緒,你就可以將其移植至EMR,而相同的代碼可在Hadoop集群上正常運行且無需任何修改。 承載5700萬評論、每月1.3億以上游客瀏覽的社交網絡仍然使用著mrjob,因此它可滿足眾多Hadoop用戶的需求。

使用Dumo進行作業處理

Dumbo是另一個支持EMR的Python框架。 與mrjob類似,你可以編寫mapper類和reducer類來實施彈性MapReduce任務。 除了在mrjob中的基本功能以外,Dumbo還提供了更多的任務處理選項。 它的一個任務類可允許開發人員定義多組由單一命令運行的map-reduce操作。 當對一個數據集執行多個操作時,這是非常有用的。

Dumbo支持文本和序列文件格式,而通過使用用戶指定的Java類,它還支持用戶的自定義格式。 在缺點方面,Dumbo的相關文檔較少,尤其是與mrjob的技術文檔相比。

Dumbo遵循著MapReduce的范式,因此在這個框架下進行核心組件開發與在mrjob和PyDoop中進行開發是類似的。 它還允許你執行partitioners,除了是在本地運行外,它與reducers類似。 它們能夠減少map與reduce操作之間數據的傳輸量。

通過使用Dumbo,開發人員還可以在啟動任務時以命令行的方式控制Hadoop參數。 Hadoop默認使用純文本的文件格式,但是用戶可以通過指定一個自定義的RecordReader類來處理其他的格式。 這個類包括了初始化、下一步、關閉以及getProgress等方法。

它還支持Hadoop文件系統API,它連接了一個HDFS安裝和讀寫文件。 此外,API會檢索文件、目錄以及文件系統中的元數據。 當你需要以較低層次方式訪問文件系統時,Dumbo API可以助你一臂之力,因為它有與HDFS API相同的功能集。

使用PyDoop進行研究包訪問

需要訪問第三方庫和軟件包的Python開發人員可能需要考慮使用PyDoop。 CRS4跨學科研究中心開發了這個框架并對其進行了維護。 這樣做的一個好處就是,你可以對訪問流行Python研究包(例如SciPy)進行計數。

盡管mrjob、Dumbo以及PyDoop框架都具有不少的好處,但是它們都會增加運行開銷,因此與用Java語言進行開發或者通過Hadoop流相比,你的任務的運行時間有可能會變得更長。 如果確保EMR的低成本是一個關鍵的考慮因素,那么比較分別用Python流和其他框架開發的MapReduce任務就可以得知運行任務所需的額外時間了。

當你開發一些EMR任務時,Hadoop的Python框架是有用的。 這三個開發框架都可以在彈性MapReduce上正常運行,并能夠幫助用戶避免不必要的和繁瑣的Java開發工作。 當你需要更多地訪問Hadoop內部時,可考慮Dumbo或PyDoop。

原文鏈接:如何為Hadoop選擇最佳彈性MapReduce框架 (責編/魏偉)


免費訂閱“CSDN大數據”微信公眾號,實時了解最新的大數據進展!

CSDN大數據,專注大數據資訊、技術和經驗的分享和討論,提供Hadoop、Spark、Imapala、Storm、HBase、MongoDB、Solr、機器學習、智能算法等相關大數據觀點,大數據技術,大數據平臺,大數據實踐,大數據產業資訊等服務。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩一区二区三区 | 亚洲欧美综合精品久久成人 | 国产黄a三级三级看三级 | 精品国产一区二区三区成人影院 | 日韩中文字幕在线观看 | 日韩精品1区| 亚洲一区国产精品 | 久久欧美 | 精久久久久久 | 国产精品久久久久久久va果冻 | 曰韩在线 | 日本黄色精品 | 97中文字幕第00页 | 在线播放一区二区三区 | 欧美日韩色| 一区二区欧美日韩 | 国产精品成人一区二区网站软件 | 亚洲精品在线观看视频 | 欧美日韩激情 | 成人免费在线电影 | 久久久久久久久久国产 | www视频在线观看 | 久久成人综合网 | 99在线视频免费观看 | 国产精品色综合一区二区三区 | 在线综合av | 精品久久a| 国产成人精品久久二区二区91 | 亚洲成人精品在线观看 | 亚洲精品成人 | 午夜免费视频 | 亚洲一区二区在线免费观看 | 在线电影一区二区三区 | 一个色av | 91精品久久久久 | 丰满放荡岳乱妇699www | 成人国产精品视频 | 曰本一区二区三区 | 久久y| 亚洲三区视频 | 操伊人|