R語言爲Hadoop集羣數據統計分析帶來革命性變化

R作爲開源的數據統計分析語言正潛移默化的在企業中擴大自己的影響力。特有的擴展插件可提供免費擴展,並且允許R語言引擎運行在Hadoop集羣之上。

R語言是主要用於統計分析、繪圖的語言和操作環境。R本來是由來自新西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman開發。(也因此稱爲R)現在由“R開發核心團隊”負責開發。R是基於S語言的一個GNU項目,所以也可以當作S語言的一種實現,通常用 S語言編寫的代碼都可以不作修改的在R環境下運行。R的語法是來自Scheme。

R的源代碼可自由下載使用,亦有已編譯的可執行文件版本可以下載,可在多種平臺下運行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同時有人開發了幾種圖形用戶界面。(此資源來自維基百科)

衆所周知,Google開創了MapReduce,MapReduce是處理存儲在存儲區的非結構化數據的先驅。雖然Google不允許MapReduce被外部使用,但由於Google曾拿出MapReduce一部分相關信息與Nutch分享,以開發開源版本的Hadoop。結果Nutch被Yahoo收購,所以Yahoo也推出了Apache Hadoop項目。

MapReduce的工作原理是將非結構化數據打碎並分佈到服務器的各個節點。MapReduce將並行化、容錯、數據分佈、負載均衡等放在庫中,而將系統對數據的所有操作都歸結爲兩個步驟,通過Map和Reduce兩步來實現在大規模計算節點中人物的調度與分配。

R語言與Hadoop結合

現在,統計工作者可利用R語言,R語言擅長在Hadoop分佈式文件系統中存儲的非結構化數據的分析。R現在還可以運行在HBase這種非關係型的數據庫以及面向列的分佈式數據存儲之上。其主要模仿了Google的BigTable。這基本上等同於使用Hadoop來持有結構化數據的數據庫。就像Apache軟件基金會Hadoop項目的子項目HBase一樣。

Revolution Analytics公司提供對開源R語言的商用軟件擴充以及支援,這使得讓統計分析師及科學家能夠在短暫的時間內從大量的重要資料中發現有意義的資訊。Revolution Analytics公司首席技術官David Champagne表示R引擎可部署在Hadoop集羣中的每個節點上面。你可以在部署了R的工作組中設置R算法,而不是在Java編程中減少算法。它可解析Hadoop映射函數的節點,同時可並行的統計分析存儲在HDFS的數據。

如果不使用MapReduce,然後提取數據並將數據返回給分析數據的工作組。但不要忘記你還需要消化集羣中的數據,同時還要聚合它們。從本質說,R是使用Hadoop的一個網格控制器,其管理特定算法的運行並控制運行的數據。

R語言爲企業提供更多商機

本週,Revolution Analytics與Cloudera成爲新的合作伙伴。並宣佈將Cloudera Distribution Apache Hadoop(CDH3)集成到Revolution Analytics的R企業平臺上。新產品被稱爲“RevoConnectR for Apache Hadoop”。

其實Oracle早在去年就增加了對開源R語言的支持,據Oracle官方透露他們將在數據挖掘軟件接口中更多使用R語言進行數據的統計與分析。同時一些主流的數據分析和數據庫廠商,如IBM、SAS也都已經開始支持R語言。

七款優秀的R語言圖形用戶界面

相關的R語言圖形用戶界面也應用而生,其可幫助初學者快速進入R語言環境。包括:集成開發環境RStudio、Gnome環境下的R語言數據挖據工具Rattle、圖形編程界面Red-R、Deducer等。

現在,R與Hadoop的連接器已經可以在GitHub下載。(李智/編譯)

發佈了37 篇原創文章 · 獲贊 1 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章