Google開源C/C++版MapReduce框架
據GigaOM消息,Google上周宣布,將自己用C++開發(fā)的MapReduce框架MapReduce for C(MR4C)開源,此舉可給Hadoop社區(qū)帶來福音,因為這樣用戶就可以在自己的Hadoop環(huán)境中運行原生的C及C++代碼了。
Hadoop是許多大數據應用的基礎,它是由Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構,主要由分布式文件系統(tǒng)HDFS和計算框架 MapReduce組成。由于原先的MapReduce是用Java編寫的,與C++相比,在性能上要略遜一籌,因此,許多處理大規(guī)模數據集的軟件公司都 開發(fā)了自己的專有系統(tǒng)來在MapReduce框架之內執(zhí)行其原生代碼。Facebook的HipHop(將PHP轉換為C++)以及MemSQL執(zhí)行前將 SQL轉為C++代碼也都是出于同樣的性能考慮。
MR4C原先由衛(wèi)星影像公司Skybox Imaging開發(fā),目的是為了優(yōu)化其地理空間數據及計算機視覺代碼庫。MR4C圍繞著幾個簡單概念開發(fā)而成,其目標是將MapReduce的重要細節(jié)抽 象化,允許用戶專注于開發(fā)有價值的算法。去年6月,Google收購了Skybox。半年之后的現在,又將MR4C開源出來。這對于沒有能力開發(fā)專有系統(tǒng) 或者對Java不感冒的開發(fā)者來說無疑是一個福音。
當然,MR4C的受歡迎程度仍有待觀察。因為在數據處理方面,Apache Spark是一個速度比Mapreduce更快的框架,它支持Scala、Python和Java(但不支持C/C++),已經引起了開發(fā)社區(qū)極大的興趣。