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

熱線電話:13121318867

登錄
首頁精彩閱讀大數(shù)據(jù)分析處理 應多元化
大數(shù)據(jù)分析處理 應多元化
2015-11-11
收藏

大數(shù)據(jù)分析處理 應多元化


隨著大數(shù)據(jù)在各個業(yè)務領域的發(fā)展和應用,相關的技術(shù)和工具也層出不窮,其中Hadoop框架受到更多的關注和應用。Facebook分析主管Ken Rudin最近在紐約舉行的一個Strata+Hadoop世界大會發(fā)表主題演講時表示,不要小看關系型數(shù)據(jù)庫技術(shù)的價值。他認為,Hadoop編程框架可能是“大數(shù)據(jù)”運動的代名詞,但它并不是企業(yè)從大規(guī)模存儲的非結(jié)構(gòu)化信息中得到價值的唯一工具。

有很多很普及的大數(shù)據(jù)的觀念需要被質(zhì)疑,首先一點就是人們普遍認為你可以簡單地利用Hadoop,并且Hadoop易于使用。問題是,Hadoop是一項技術(shù),而大數(shù)據(jù)和技術(shù)無關。大數(shù)據(jù)是和業(yè)務需求有關的。事實上,大數(shù)據(jù)應該包括Hadoop關系型數(shù)據(jù)庫以及任何其它適合于我們手頭任務的技術(shù)。
Rudin說,F(xiàn)acebook的業(yè)務模式依賴于其對于超過10億社交媒體用戶的用戶資料和活動數(shù)據(jù)的處理,從而提供有針對性的廣告。然而,對于我們需要做的事情而言,Hadoop并不總是最好的工具。

例如,在Hadoop中對一個數(shù)據(jù)集做廣泛并且探索性的分析是很有意義的,但關系型存儲對于那些尚未發(fā)現(xiàn)的東西進行運行分析則更好。Hadoop對于在一個數(shù)據(jù)集中尋找最低水平的細節(jié)也很好用,但關系型數(shù)據(jù)庫對于數(shù)據(jù)的存儲轉(zhuǎn)換和匯總則更有意義。因此底線是,對于你的任何需求,要使用正確的技術(shù)。

他表示,還有另一個假設,認為大數(shù)據(jù)單純的行為分析提供了寶貴的價值:“問題是這分析給那些無人問津的問題得出了更加聰明的答案。要弄清楚什么是正確的問題依然是一門藝術(shù)”。Facebook一直專注于雇傭合適的員工來運行他們的分析操作,那些人不僅要在統(tǒng)計學專業(yè)獲得博士學位,并且還要精通業(yè)務。

當你面試員工時,不要只關注于“我們怎么計算這個指標”,相反,你應該給他們一個商業(yè)案例來研究,并且問他們在這個案例中哪個是最重要的指標。企業(yè)也應該嘗試著去培養(yǎng),人人參與分析。

據(jù)Rudin透露,F(xiàn)acebook運營一個內(nèi)部的“數(shù)據(jù)培訓營”,一個教導員工如何分析的時長兩周的項目。產(chǎn)品經(jīng)理、設計師、工程師甚至財務部門工作人員都要參加。每個人都參與其中的意義就在于,每個人可以用一個共同的數(shù)據(jù)語言,來互相討論數(shù)據(jù)的問題和麻煩。

Facebook還改變了統(tǒng)計人員和業(yè)務團隊的組織方法。如果統(tǒng)計人員保持獨立,他們往往會坐在那里等待來自業(yè)務領域的請求找上門來,再回應他們,而不是主動去做。但是如果統(tǒng)計人員被放置到業(yè)務部門,你會發(fā)現(xiàn)多個團體將會試圖冗余地解決問題。

Facebook已經(jīng)采用了“嵌入式”模式,其中分析師被放在業(yè)務團隊中,但他們要向一些更高級別的分析師報告,這有助于避免重復的勞動。

對于Hadoop如何組合和處理大數(shù)據(jù)的技巧和方法,數(shù)據(jù)專家Anoop曾經(jīng)在另一篇文章中提到過,一般情況下,為了得到最終的結(jié)果,數(shù)據(jù)需要加入多個數(shù)據(jù)集一起被處理和聯(lián)合。Hadoop中有很多方法可以加入多個數(shù)據(jù)集。MapReduce提供了Map端和Reduce端的數(shù)據(jù)連接。這些連接是非平凡的連接,并且可能會是非常昂貴的操作。Pig和Hive也具有同等的能力來申請連接到多個數(shù)據(jù)集。Pig提供了復制連接,合并連接和傾斜連接(skewed join),并且Hive提供了map端的連接和完整外部連接來分析數(shù)據(jù)。一個重要的事實是,通過使用各種工具,比如MapReduce、Pig和Hive等,數(shù)據(jù)可以基于它們的內(nèi)置功能和實際需求來使用它們。至于在Hadoop分析大量數(shù)據(jù),Anoop指出,通常,在大數(shù)據(jù)/Hadoop的世界,一些問題可能并不復雜,并且解決方案也是直截了當?shù)?,但面臨的挑戰(zhàn)是數(shù)據(jù)量。在這種情況下需要不同的解決辦法來解決問題。一些分析任務是從日志文件中統(tǒng)計明確的ID的數(shù)目、在特定的日期范圍內(nèi)改造存儲的數(shù)據(jù)、以及網(wǎng)友排名等。所有這些任務都可以通過Hadoop中的多種工具和技術(shù)如MapReduce、Hive、Pig、Giraph和Mahout等來解決。這些工具在自定義例程的幫助下可以靈活地擴展它們的能力。

事實上,與Rudin持相同觀點的還有數(shù)據(jù)專家Joe Brightly,他也總結(jié)了Hadoop不適合數(shù)據(jù)分析的幾個理由,其中包括:

Hadoop是一個框架,不是一個解決方案”——他認為在解決大數(shù)據(jù)分析的問題上人們誤認為Hadoop可以立即有效工作,而實際上“對于簡單的查詢,它是可以的。但對于難一些的分析問題,Hadoop會迅速敗下陣來,因為需要你直接開發(fā)Map/Reduce代碼。出于這個原因,Hadoop更像是J2EE編程環(huán)境而不是商業(yè)分析解決方案?!?所謂框架意味著你一定要在之上做個性化和業(yè)務相關的開發(fā)和實現(xiàn),而這些都需要成本。

Hadoop的子項目Hive和Pig 都不錯,但不能逾越其架構(gòu)的限制?!薄狫oe提出“Hive 和Pig 都是幫助非專業(yè)工程師快速有效使用Hadoop的完善工具,用于把分析查詢轉(zhuǎn)換為常用的SQL或Java Map/Reduce 任務,這些任務可以部署在Hadoop環(huán)境中?!逼渲?a href='/map/hive/' style='color:#000;font-size:inherit;'>Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,它可以幫助實現(xiàn)數(shù)據(jù)匯總、即時查詢以及分析存儲在Hadoop兼容的文件系統(tǒng)的大型數(shù)據(jù)集等。而Pig是并行計算的高級數(shù)據(jù)流語言和執(zhí)行框架。但作者認為“Hadoop的Map/Reduce框架的一些限制,會導致效率低下,尤其是在節(jié)點間通信的情況(這種場合需要排序和連接)?!?/span>

Joe總結(jié)道:“Hadoop是一個用來做一些非常復雜的數(shù)據(jù)分析的杰出工具。但是具有諷刺意味的是,它也是需要大量的編程工作才能得到這些問題的答案?!?這一點不止在數(shù)據(jù)分析應用方面,它其實反映了目前使用開源框架時候不得不面對的選型平衡問題。當你在選型開源框架或代碼的時候,既要考慮清楚它能夠幫到你多少,節(jié)省多少時間和成本,提高多少效率。也要知道由此而產(chǎn)生多少新增的成本,比如工程師的學習成本、開發(fā)和維護成本,以及未來的擴展性,包括如果使用的框架升級了,你和你的團隊是否要做相應的升級;甚至還要有安全性方面的考慮,畢竟開源框架的漏洞也是眾所周知的。

數(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)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 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); }