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