99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀 R語言為Hadoop集群數(shù)據(jù)統(tǒng)計分析帶來革命性變化
R語言為Hadoop集群數(shù)據(jù)統(tǒng)計分析帶來革命性變化
2014-11-05
收藏

R語言Hadoop集群數(shù)據(jù)統(tǒng)計分析帶來革命性變化 


R作為開源的數(shù)據(jù)統(tǒng)計分析語言正潛移默化的在企業(yè)中擴大自己的影響力。特有的擴展插件可提供免費擴展,并且允許R語言引擎運行在Hadoop集群之上。

R語言是主要用于統(tǒng)計分析、繪圖的語言和操作環(huán)境。R本來是由來自新西蘭奧克蘭大學(xué)的Ross Ihaka和Robert Gentleman開發(fā)。(也因此稱為R)現(xiàn)在由“R開發(fā)核心團隊”負責(zé)開發(fā)。R是基于S語言的一個GNU項目,所以也可以當(dāng)作S語言的一種實現(xiàn),通常用 S語言編寫的代碼都可以不作修改的在R環(huán)境下運行。R的語法是來自Scheme。
R的源代碼可自由下載使用,亦有已編譯的可執(zhí)行文件版本可以下載,可在多種平臺下運行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同時有人開發(fā)了幾種圖形用戶界面。(此資源來自維基百科)
眾所周知,Google開創(chuàng)了MapReduce,MapReduce是處理存儲在存儲區(qū)的非結(jié)構(gòu)化數(shù)據(jù)的先驅(qū)。雖然Google不允許MapReduce被外部使用,但由于Google曾拿出MapReduce一部分相關(guān)信息與Nutch分享,以開發(fā)開源版本的Hadoop。結(jié)果Nutch被Yahoo收購,所以Yahoo也推出了Apache Hadoop項目。
MapReduce的工作原理是將非結(jié)構(gòu)化數(shù)據(jù)打碎并分布到服務(wù)器的各個節(jié)點。MapReduce將并行化、容錯、數(shù)據(jù)分布、負載均衡等放在庫中,而將系統(tǒng)對數(shù)據(jù)的所有操作都歸結(jié)為兩個步驟,通過Map和Reduce兩步來實現(xiàn)在大規(guī)模計算節(jié)點中人物的調(diào)度與分配。
R語言Hadoop結(jié)合

現(xiàn)在,統(tǒng)計工作者可利用R語言,R語言擅長在Hadoop分布式文件系統(tǒng)中存儲的非結(jié)構(gòu)化數(shù)據(jù)的分析。R現(xiàn)在還可以運行在HBase這種非關(guān)系型的數(shù)據(jù)庫以及面向列的分布式數(shù)據(jù)存儲之上。其主要模仿了Google的BigTable。這基本上等同于使用Hadoop來持有結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)庫。就像Apache軟件基金會Hadoop項目的子項目HBase一樣。
Revolution Analytics公司提供對開源R語言的商用軟件擴充以及支援,這使得讓統(tǒng)計分析師及科學(xué)家能夠在短暫的時間內(nèi)從大量的重要資料中發(fā)現(xiàn)有意義的資訊。Revolution Analytics公司首席技術(shù)官David Champagne表示R引擎可部署在Hadoop集群中的每個節(jié)點上面。你可以在部署了R的工作組中設(shè)置R算法,而不是在Java編程中減少算法。它可解析Hadoop映射函數(shù)的節(jié)點,同時可并行的統(tǒng)計分析存儲在HDFS的數(shù)據(jù)。
如果不使用MapReduce,然后提取數(shù)據(jù)并將數(shù)據(jù)返回給分析數(shù)據(jù)的工作組。但不要忘記你還需要消化集群中的數(shù)據(jù),同時還要聚合它們。從本質(zhì)說,R是使用Hadoop的一個網(wǎng)格控制器,其管理特定算法的運行并控制運行的數(shù)據(jù)。

R語言為企業(yè)提供更多商機
本周,Revolution Analytics與Cloudera成為新的合作伙伴。并宣布將Cloudera Distribution Apache Hadoop(CDH3)集成到Revolution Analytics的R企業(yè)平臺上。新產(chǎn)品被稱為“RevoConnectR for Apache Hadoop”。
其實Oracle早在去年就增加了對開源R語言的支持,據(jù)Oracle官方透露他們將在數(shù)據(jù)挖掘軟件接口中更多使用R語言進行數(shù)據(jù)的統(tǒng)計與分析。同時一些主流的數(shù)據(jù)分析和數(shù)據(jù)庫廠商,如IBM、SAS也都已經(jīng)開始支持R語言。

七款優(yōu)秀的R語言圖形用戶界面
相關(guān)的R語言圖形用戶界面也應(yīng)用而生,其可幫助初學(xué)者快速進入R語言環(huán)境。包括:集成開發(fā)環(huán)境RStudio、Gnome環(huán)境下的R語言數(shù)據(jù)挖據(jù)工具Rattle、圖形編程界面Red-R、Deducer等。
現(xiàn)在,R與Hadoop的連接器已經(jīng)可以在GitHub下載。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }