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

熱線電話:13121318867

登錄
首頁精彩閱讀企業(yè)大數(shù)據(jù)建設(shè)案例分享
企業(yè)大數(shù)據(jù)建設(shè)案例分享
2016-06-02
收藏

企業(yè)大數(shù)據(jù)建設(shè)案例分享

大數(shù)據(jù)的重要性已毋庸置疑,但大數(shù)據(jù)的采集、存儲、處理、分析、研究,卻不是一朝一夕煉成的!數(shù)據(jù)平臺如何建設(shè),推薦系統(tǒng)如何運算,等等,都是我們所關(guān)注的話題。2013年7月27日,CTO俱樂部走進了騰訊大講堂,來自迅雷、騰訊和桉樹的三位講師齊聚一堂,分享了各自的大數(shù)據(jù)實施案例。

迅雷數(shù)據(jù)平臺建設(shè)及應用案例

首先,迅雷基礎(chǔ)研發(fā)中心數(shù)據(jù)平臺技術(shù)總監(jiān)陳仕明,主要從三個方面介紹了“迅雷數(shù)據(jù)平臺建設(shè)及應用案例”。

中型數(shù)據(jù)平臺

數(shù)據(jù)平臺可以分成中型數(shù)據(jù)平臺和大型數(shù)據(jù)平臺,中型數(shù)據(jù)平臺的主要特點是服務(wù)器資源、技術(shù)儲備和人員都比較有限。迅雷的數(shù)據(jù)分析模塊目前有500多臺服務(wù)器,4000多個CPU,存儲20P以上的數(shù)據(jù),磁盤有3000多塊,屬于中型數(shù)據(jù)平臺的規(guī)模。

迅雷的大數(shù)據(jù)架構(gòu)

中型數(shù)據(jù)平臺主要是基于開源已有的存儲和計算,做一些更上層的外延性的產(chǎn)品。

第一層是采集,采集分成實時采集和離線采用集,其中離線采集占了業(yè)務(wù)的大部分,主要用迅雷自己開發(fā)的Xrsync工具實現(xiàn)。有些數(shù)據(jù)需要涉及到實時計算,會同步發(fā),存起來之后ETL計算全部用開源計算框架。實時采集主要是采集日志文件,這種日志文件主要對應業(yè)務(wù)服務(wù)器里邊所生成的日志。

數(shù)據(jù)存儲之后,依然是一個物理模型,為了降低維護成本,需要把技術(shù)人員的工作盡量抽出來,讓其他崗位比如數(shù)據(jù)分析師做更多的事情。這就需要把底層數(shù)據(jù)抽象為業(yè)務(wù)人員理解的數(shù)據(jù)模型,抽完之后在最下邊做了維護平臺,以及報表系統(tǒng),還有自主查詢。

最右邊有兩塊,一塊是認證與授權(quán),從上到下所有東西都需要經(jīng)過認證和授權(quán),作為一個公司級集中式的存儲平臺,每個部門存儲都會在這兒做,所以你必須保障數(shù)據(jù)安全和資源合理分配。迅雷的平臺認證,全部采用kerberos認證。數(shù)據(jù)存到HDFS上之后,會給每一個業(yè)務(wù),或者每個產(chǎn)品,開辟一個kerberos帳號,所有帳號的數(shù)據(jù)都只能放在這個帳號的home里去,包括這個帳號的Hive或者HBase都存在該目錄下,并控制存儲空間。

另一塊是事件驅(qū)動調(diào)度:首先,任務(wù)的依賴關(guān)系用數(shù)據(jù)打通。任務(wù)和任務(wù)之間的依賴關(guān)系其實質(zhì)是任務(wù)背后的數(shù)據(jù)之間的依賴關(guān)系,某一個數(shù)據(jù)跑成功了之后依賴該數(shù)據(jù)的任務(wù)才能跑。

其次,需要把后置依賴前置改成前置驅(qū)動后置,前置任務(wù)跑成功了之后,將該任務(wù)對應的“數(shù)據(jù)事件”扔到調(diào)度總線里面去,由總線把需要依賴這個“數(shù)據(jù)事件”的其他任務(wù)調(diào)起來,當然該任務(wù)能夠立即跑,還要考慮到底層計算引擎目前的負載等情況。


上圖是調(diào)度引擎大體的架構(gòu):最核心部分是調(diào)度總線,數(shù)據(jù)分為是Task和Job,Task維護計算邏輯,如執(zhí)行的SQL腳本等;Job維護調(diào)度邏輯,如依賴什么“數(shù)據(jù)事件”, 一個Task可以配置多個Job。最左邊是Web接口,前端通過該接口查詢?nèi)蝿?wù)狀態(tài),以及控制任務(wù)等。最右邊是計算環(huán)境的適配層。

數(shù)據(jù)平臺使用案例

迅雷會把收集來的數(shù)據(jù)做成數(shù)據(jù)模型,最重要的數(shù)據(jù)模型是一個用戶事件模型,所有的基于用戶端的這種行為數(shù)據(jù),都可以把它抽象成模型存進去,這個模型用一句話概括就是,誰對誰的什么東西做了什么事情?

這個模型擁有很多緯度,如產(chǎn)品緯度,用戶緯度,時間緯度,客戶緯度、地域緯度,運營商緯度,終端緯度,渠道緯度,事件緯度等。

這個模型能做什么:簡單的比如每個產(chǎn)品的上線用戶數(shù),每個用戶的活躍度,用戶的黏性,以及某個產(chǎn)品的用戶的地域分布,運營商分布等,活躍用戶排名,最熱的資源排名,如哪些電影是最???,發(fā)生某個事件所消耗時間是多少,或者某個商品的銷售收入等。

迅雷還構(gòu)建了一個用戶的染色庫,迅雷擁有幾億的用戶,但是這些用戶各有什么樣的特征?比如是聯(lián)通用戶還是電信用戶,還是某個小運營商的用戶?還有興趣類標簽,如游戲類標簽,影視類標簽等。游戲標簽描述該用戶喜歡什么類型游戲,影視類標簽描述用戶喜歡什么類型的影視;根據(jù)這些屬性我們可以更好的為用戶服務(wù)。

另外一個是資源的屬性庫。比如一個影視文件,在資源屬性庫擁有該文件對應的電影的名稱,演員,以及電影類型等。

染色庫和資源屬性庫的應用主要有:比如,可以計算視頻指紋,根據(jù)兩個視頻指紋相似度計算這兩部電影是不是一部電影。染色庫還會應用在會員tips推廣中,迅雷會彈一些tips,為了提高tips的效果,提高點擊率,需要盡量精準的投放。另外在看看里邊放廣告的時候,也需要盡量的精準,不能最好不要把一個女性的產(chǎn)品,給一個男屌絲推,這樣一般點擊率會很差。

騰訊精準推薦

接下來,騰訊數(shù)據(jù)中心數(shù)據(jù)挖掘研究員肖磊,從業(yè)務(wù)的角度為我們介紹了騰訊的大數(shù)據(jù)應用之一精準推薦。他的演講主要包括四個部分:

騰訊做了什么

2012年的時候,騰訊贊助了KDDCup主要做了兩個事情,一個是微博上面的推薦,一個是廣告的推薦。具體到產(chǎn)品上面,包括騰訊視頻的推薦系統(tǒng),易迅首頁上的推薦,基于社交網(wǎng)絡(luò)廣告的推薦廣點通,還有朋友關(guān)系鏈的推薦等。這些推薦都是通過分析騰訊8億的活躍用戶做出的。

遇到的問題

肖磊認為作為一個推薦系統(tǒng),首先要處理好3P之間的關(guān)系。

首先是用戶,其次是ITEM,第三是場景,針對不同的場景不同位置有不同的方法做應用。

解決之道——3S

分別是數(shù)據(jù)、算法和系統(tǒng)。這三個是相輔相成的。

會基于用戶的基本信息和歷史數(shù)據(jù)構(gòu)建用戶畫像的體系,上圖中提到推薦的解決之道中,數(shù)據(jù)是排在第一位的,因為數(shù)據(jù)是做好準確推薦的立根之本。

兩大核心平臺

有兩大核心平臺做這件事情,一個平臺是分布式數(shù)據(jù)倉庫TDW,它基于開源的HadoopHive進行了大量優(yōu)化和改造。第二個是一套實時推薦的平臺——APOLLO,它有一些實時介入系統(tǒng)、流式計算系統(tǒng)、一個分布式的存儲系統(tǒng),同時還有一個很重要的推薦引擎。

8月30-31日,肖磊會在SDCC 2013(中國軟件開發(fā)者大會)上擔任演講嘉賓,更多內(nèi)容請關(guān)注大會官網(wǎng)。

合理利用桉樹-Hadoop構(gòu)建大數(shù)據(jù)平臺

最后,來自美國桉樹系統(tǒng)公司大中華區(qū)認證講師楊大江,帶來了“合理利用桉樹-Hadoop構(gòu)建大數(shù)據(jù)平臺”的演講,主要介紹了如何結(jié)合云計算平臺和桉樹構(gòu)建一個大數(shù)據(jù)系統(tǒng)。

桉樹+Hadoop

桉樹的架構(gòu)主要分為三層:第一層叫云控制器;第二層是區(qū)域,桉樹分了三個數(shù)據(jù)中心,每一個數(shù)據(jù)中心都是一個可用區(qū)域;第三層是大量的虛擬化,以虛擬化技術(shù)為核心的一個云體系,桉樹的虛擬化支持多種技術(shù)。當構(gòu)建一個大數(shù)據(jù)平臺的時候,桉樹和Hadoop一個是解決分的問題,一個解決合的問題。桉樹是以虛擬化為核心的,解決虛擬化資源調(diào)度問題,它和一般的虛擬化有一定區(qū)別。一般虛擬機是把單機進行虛擬化,桉樹考慮把整個集群虛擬化。

云計算有一個重要的思想,單節(jié)點是不可靠的,隨時可扔。要靠一個軟件系統(tǒng)保證集群,這兩個系統(tǒng)結(jié)合優(yōu)勢構(gòu)建大數(shù)據(jù)系統(tǒng)的優(yōu)勢主要有:

提升Hadoop部署速度

提供Hadoop高可用和容錯能力

提升Hadoop環(huán)境資源利用率

安全隔離讓Hadoop落地更安全

實現(xiàn)Hadoop云端多租戶

集群易于維護和遷移

使用異構(gòu)集群實現(xiàn)高密度存儲和計算。

應用案例

這里介紹一個期貨公司的案例,這個期貨公司共分三個中心,一個鎮(zhèn)江中心、一個鄭州中心,還有一個天津中心。這家公司橫跨了農(nóng)產(chǎn)品建議和重金屬交易行業(yè)。他們建立這個決策系統(tǒng),是為了能夠?qū)崟r分析用戶的交易行為,預測其結(jié)果,規(guī)避可能帶給公司的風險。

這個系統(tǒng)整體叫做數(shù)據(jù)容器,也就是說這個平臺將來不僅僅給自己公司用,而是通過API給各種客戶端做使用。將來在云端開發(fā)各種數(shù)據(jù)應用,都可以直接調(diào)用。系統(tǒng)最上面用的都是桉樹的產(chǎn)品。


數(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, // 表示用戶后臺檢測極驗服務(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); }