多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

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

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

【編者按】當你開發一些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、機器學習、智能算法等相關大數據觀點,大數據技術,大數據平臺,大數據實踐,大數據產業資訊等服務。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美亚洲日本一区二区三区浪人 | 欧美一欧美一区二三区性 | h视频在线免费 | www.中文字幕在线 | 成年人视频免费在线观看 | 亚洲欧洲自拍偷拍 | 国产精品秋霞午夜 | 美国福利视频 | 日本久久网 | 天天性综合 | 日本一二三区在线视频 | 青青草原在线视频免费观看 | 羞羞视频免费网站日本 | 亚洲精品综合一区二区 | 日本a毛片在线播放 | 99热成人精品国产免国语的 | 午夜大片免费男女爽爽影院久久 | 免费a网站| 国产精品嫩草免费视频 | 538亚洲欧美国产日韩在线精品 | 精品国产综合成人亚洲区 | 一级成人a做片免费 | 国产成人精品一区二区三区 | 亚洲伊人成综合人影院小说 | 国产精品一区二区综合 | 日本夜免费视频视频大片 | 成人中文字幕一区二区三区 | 国产日韩精品视频一区二区三区 | 国产中文字幕第一页 | 偷自视频区视频真实在线 | japanese日本护士xxxx18一19 | 亚洲成熟 | 欧美成人午夜在线全部免费 | 日本a毛片在线播放 | 国产国语在线播放视频 | 4四虎44虎www在线影院麻豆 | 最新欧洲大片免费在线看 | 亚洲韩国日本一级二级r级 亚洲韩精品欧美一区二区三区 | 精品成人在线视频 | 色噜噜狠狠先锋影音久久 | 鲁啊鲁阿鲁在线视频播放 |