據(jù)GigaOM消息,谷歌上周宣布將開(kāi)源C用MapReduce(MR4C),這是一個(gè)自己用C開(kāi)發(fā)的MapReduce框架,這將給Hadoop社區(qū)帶來(lái)好消息,因?yàn)橛脩艨梢栽谧约旱腍adoop環(huán)境中運(yùn)行原生C和C代碼。
Hadoop是很多大數(shù)據(jù)應(yīng)用的基礎(chǔ)。它是由Apache Foundation開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)設(shè)施,主要由分布式文件系統(tǒng)HDFS和計(jì)算框架MapReduce組成。由于MapReduce最初是用Java編寫(xiě)的,性能略遜于C語(yǔ)言,所以很多處理大規(guī)模數(shù)據(jù)集的軟件公司都開(kāi)發(fā)了自己的專有系統(tǒng),在MapReduce框架內(nèi)執(zhí)行自己的原生代碼。臉書(shū)的HipHop(將PHP轉(zhuǎn)換為C)和MemSQL在執(zhí)行前將SQL轉(zhuǎn)換為C代碼都是出于同樣的性能考慮。
MR4C最初由衛(wèi)星成像公司Skybox Imaging開(kāi)發(fā),目的是優(yōu)化其地理空間數(shù)據(jù)和計(jì)算機(jī)視覺(jué)代碼庫(kù)。MR4C是圍繞幾個(gè)簡(jiǎn)單的概念開(kāi)發(fā)的,其目標(biāo)是抽象MapReduce的重要細(xì)節(jié),讓用戶專注于開(kāi)發(fā)有價(jià)值的算法。去年6月,谷歌收購(gòu)了Skybox?,F(xiàn)在,半年過(guò)去了,MR4C又開(kāi)源了。對(duì)于無(wú)法開(kāi)發(fā)專有系統(tǒng)或?qū)ava不感興趣的開(kāi)發(fā)人員來(lái)說(shuō),這無(wú)疑是一個(gè)福音。
當(dāng)然,MR4C的受歡迎程度還有待觀察。在數(shù)據(jù)處理方面,Apache Spark是一個(gè)比Mapreduce更快的框架。它支持Scala、Python和Java(但不支持C/C),引起了開(kāi)發(fā)界的極大興趣。