成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于MaxCompute搭建社交好友推薦系統(tǒng)

cgspine / 2896人閱讀

摘要:摘要本次由阿里云駐云科技資深架構(gòu)師翟永東帶來(lái)了基于搭建社交好友推薦系統(tǒng)為主題的分享,主要對(duì)大數(shù)據(jù)在好友推薦系統(tǒng)中的應(yīng)用好友推薦系統(tǒng)的分析模型好友推薦系統(tǒng)在阿里云上的實(shí)現(xiàn)方式和技術(shù)進(jìn)行了精彩的介紹。

摘要:本次由阿里云駐云科技資深架構(gòu)師翟永東帶來(lái)了“基于MaxCompute搭建社交好友推薦系統(tǒng)”為主題的分享,主要對(duì)大數(shù)據(jù)在好友推薦系統(tǒng)中的應(yīng)用、好友推薦系統(tǒng)的分析模型、好友推薦系統(tǒng)在阿里云上的實(shí)現(xiàn)方式和MaxCompute技術(shù)進(jìn)行了精彩的介紹。

點(diǎn)此查看原文:http://click.aliyun.com/m/42756/

本次由阿里云駐云科技資深架構(gòu)師翟永東帶來(lái)了“基于MaxCompute搭建社交好友推薦系統(tǒng)”為主題的分享,主要對(duì)大數(shù)據(jù)在好友推薦系統(tǒng)中的應(yīng)用、好友推薦系統(tǒng)的分析模型、好友推薦系統(tǒng)在阿里云上的實(shí)現(xiàn)方式和MaxCompute技術(shù)進(jìn)行了精彩的介紹。

直播視頻:https://yq.aliyun.com/article...

以下為精彩視頻內(nèi)容整理:

大數(shù)據(jù)在好友推薦系統(tǒng)中的應(yīng)用

給大家分享一下基于MaxCompute搭建社交好友推薦系統(tǒng),使用MaxCompute阿里的大數(shù)據(jù)計(jì)算的方法可以做哪些事情,如果說(shuō)是以社交好友的推薦,來(lái)給大家去演示一下。好友推薦系統(tǒng)它的一個(gè)場(chǎng)景介紹,現(xiàn)在大家都在講大數(shù)據(jù),如果想去使用這些數(shù)據(jù),我們認(rèn)為它需要具備三個(gè)要素,第一個(gè)要素是海量的數(shù)據(jù),數(shù)據(jù)量越多越好,只有數(shù)據(jù)量達(dá)到了足夠大,我們才能夠成為一個(gè)數(shù)據(jù)里面潛在去挖掘出來(lái)。第二個(gè)是處理數(shù)據(jù)的能力,有了這樣很高的快速處理數(shù)據(jù)的能力,可以讓我們更快的去把數(shù)據(jù)里面的信息挖掘出來(lái)。第三個(gè)是商業(yè)變現(xiàn)的一個(gè)場(chǎng)景,我們采集大數(shù)據(jù)的時(shí)候,并不是數(shù)據(jù)越多越好,一定要有一個(gè)具體的場(chǎng)景。以推薦系統(tǒng)為例來(lái)看一下大數(shù)據(jù)的一個(gè)應(yīng)用。

左邊是支付寶,在支付寶一打開(kāi)的時(shí)候,下面會(huì)有一欄推薦可能是你的好友,一般的話下面的那些人都是你認(rèn)識(shí)的,可能還沒(méi)加他們?yōu)楹糜?。右?cè)是Linkin,它是一個(gè)求職社交網(wǎng)站,Linkin也會(huì)給你這樣的一個(gè)推薦,會(huì)告訴你哪一些用戶是你潛在的好友,而且Linkin會(huì)告訴你這個(gè)好友跟你是一度的關(guān)系的還是兩度的關(guān)系或者是三度的關(guān)系。潛在關(guān)聯(lián)性高的,會(huì)在前面直接顯示出來(lái),潛在關(guān)聯(lián)性沒(méi)有那么高的也會(huì)在后面顯示出來(lái),這兩個(gè)都是典型的一個(gè)好友推薦。

進(jìn)行好友推薦的時(shí)候,怎么給用戶進(jìn)行推薦,首先這兩個(gè)人是非好友的關(guān)系,接著我們?nèi)タ匆幌滤麄儌z潛在共同好友的處理,通過(guò)這種方式去給用戶推送,比方說(shuō)潛在好友數(shù)量多,我就認(rèn)為這兩個(gè)人是好友關(guān)系,就是通過(guò)這種方式來(lái)實(shí)現(xiàn)的。

上圖的右側(cè)是人與人之間的一個(gè)社交關(guān)系的服務(wù),比如說(shuō)A跟B是一個(gè)好友,我們可以通過(guò)這五個(gè)方式畫出來(lái),讓機(jī)器去分析這些數(shù)據(jù),需要把右邊這種社交的關(guān)系,轉(zhuǎn)換成機(jī)器可以識(shí)別的數(shù)據(jù),轉(zhuǎn)換成左側(cè)這樣的二維表的數(shù)據(jù),比如說(shuō)A跟B、C、D他們之間是好友,我們左側(cè)是A跟B、C、D是好友關(guān)系,剩下這些也是類似的,這樣就可以把這個(gè)表傳到機(jī)器里面進(jìn)行分析,比方說(shuō)通過(guò)分析之后,發(fā)現(xiàn)A跟E有一個(gè)共同好友,B跟D有兩個(gè)共同好友,然后C跟E有一個(gè)共同好友。這個(gè)時(shí)候就可以推薦B跟D他兩個(gè)是一個(gè)潛在的好友,而排在前面,A跟E或者C跟E排在概率往下,稍微低一些,潛在好友多的排在前面,潛在好友少的排在后面,通過(guò)這種方式來(lái)進(jìn)行排列,這個(gè)是我們期望的結(jié)果。

好友推薦系統(tǒng)的分析模型

我們?cè)趺磥?lái)去計(jì)算呢?我們一般使用方式是什么呢?使用的是MapReduce這樣的一個(gè)計(jì)算模型,MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算,它由三部分組成分別是Map、Combine、Reduce。

以好友推薦這樣的一個(gè)場(chǎng)景為例。

首先輸入左側(cè)機(jī)器可以識(shí)別的數(shù)據(jù),輸入之后,在Map端先把數(shù)據(jù)做一個(gè)拆分,拆分成兩份不同的數(shù)據(jù),在拆分的同時(shí)把它轉(zhuǎn)換成key、value的類型,比方說(shuō)A、B、D、E這幾行數(shù)據(jù)轉(zhuǎn)換成什么呢?A跟B,然后value是零,零代表他們兩個(gè)已經(jīng)是好友。如果兩個(gè)不是好友的話,自定義這一行數(shù)據(jù),B跟D不是好友,就把他的值視為1。下面的B、E,還有D跟E也是1。把原來(lái)一行數(shù)據(jù)轉(zhuǎn)換成Key、Value這個(gè)形式的數(shù)據(jù),類似于右邊這樣的數(shù)據(jù),上面是key、value的一個(gè)類型,下面也是類似的。這個(gè)是在Map做的事情,把這個(gè)數(shù)據(jù)通過(guò)兩個(gè)key、value進(jìn)行一個(gè)拆分,轉(zhuǎn)化成key、value這樣的一個(gè)類型。

Combine是對(duì)數(shù)據(jù)先做一個(gè)本地的匯總,先看到有一些數(shù)據(jù)是重復(fù)的,比如說(shuō)A跟B是零,A跟B是零,出現(xiàn)了兩次,這個(gè)時(shí)候就存一個(gè)就可以。其他類似的,這樣我把這些數(shù)據(jù)在本地做完匯總,類似于這張表,這兩個(gè)數(shù)據(jù)。

接著是第三步是Reduce階段,Reduce是對(duì)這些數(shù)據(jù)進(jìn)行一個(gè)匯總,把兩邊數(shù)據(jù)匯總到一起,然后對(duì)每一個(gè)Key值對(duì)應(yīng)唯一的一個(gè)value值做一個(gè)匯總,這個(gè)就是它最終計(jì)算的一個(gè)結(jié)果。如果兩個(gè)用戶已經(jīng)是好友了,Value值是零的話,不需要再給他推薦。所以說(shuō)A、B如果是零的話就剔掉,只需要知道它的value值是大于零的,有潛在好友,同時(shí)這兩個(gè)人目前還是非好友的關(guān)系,這個(gè)就達(dá)到了想要的效果。

好友推薦系統(tǒng)在阿里云上的實(shí)現(xiàn)方式

好友推薦阿里云實(shí)現(xiàn)整個(gè)的架構(gòu)是怎么樣的呢?比方現(xiàn)在有一個(gè)社交軟件是一個(gè)業(yè)務(wù)系統(tǒng),前端使用阿里云的云服務(wù)器ECS去部署整個(gè)的社交的軟件的應(yīng)用,入庫(kù)的一些數(shù)據(jù)存到阿里的RDS,這個(gè)就是當(dāng)前的一個(gè)社交應(yīng)用系統(tǒng)。業(yè)務(wù)系統(tǒng)里面產(chǎn)生了一個(gè)數(shù)據(jù),怎么來(lái)對(duì)數(shù)據(jù)進(jìn)行分析,首先需要在數(shù)據(jù)庫(kù)里邊把這個(gè)數(shù)據(jù)提取出來(lái),提取到阿里云的大計(jì)算服務(wù)MaxCompute里面,很類似于我們傳統(tǒng)做數(shù)倉(cāng)的時(shí)候ETL的一個(gè)過(guò)程,會(huì)利用阿里云的大數(shù)據(jù)開(kāi)發(fā)平臺(tái)對(duì)數(shù)據(jù)進(jìn)行分析和處理。

使用它可以快速便捷的去開(kāi)發(fā)我們數(shù)據(jù)植入或者數(shù)據(jù)這樣的一個(gè)流程,這個(gè)就是會(huì)使用大數(shù)據(jù)開(kāi)發(fā)平臺(tái)和大數(shù)據(jù)制造,結(jié)果是一個(gè)數(shù)據(jù)分析結(jié)果,還需要前端的應(yīng)用數(shù)據(jù)對(duì)分析出來(lái)的結(jié)果展示出來(lái)。

MaxCompute的技術(shù)特點(diǎn)

對(duì)于MaxCompute的一些技術(shù)特點(diǎn)主要有一下幾點(diǎn):

(1)分布式:分布式集群、跨集群技術(shù)、可靈活擴(kuò)展。

(2)安全性:從安全性來(lái)講具有自動(dòng)存儲(chǔ)糾錯(cuò)、沙箱機(jī)制、多分備份。

(3)易用:具有標(biāo)準(zhǔn)API、全面支持SQL、上傳下載工具。

(4)權(quán)限控制:多租戶管理、用戶權(quán)限策略、數(shù)據(jù)訪問(wèn)策略。

MaxCompute的使用場(chǎng)景

對(duì)于MaxCompute的使用的場(chǎng)景,可以使用MaxCompute搭建自己的一個(gè)數(shù)據(jù)倉(cāng)庫(kù),同時(shí),MaxCompute還可以提供一種分布式的應(yīng)用系統(tǒng),比方說(shuō)可以通過(guò)圖計(jì)算,或者通過(guò)有效的寬幅的方式,可以搭建一個(gè)工作流;比方說(shuō)數(shù)據(jù)分析并不是說(shuō)只分析一天就不分析了,其實(shí)是周期性的。如果數(shù)據(jù)每天要分析一次,可以在MaxCompute里面生成那樣的任務(wù)工作流,設(shè)置一個(gè)周期性的調(diào)度,每天要讓它調(diào)度一次,MaxCompute可以按照設(shè)計(jì)好的工作流,調(diào)動(dòng)周期,然后去運(yùn)行;MaxCompute在機(jī)器學(xué)習(xí)里面也是有用的,因?yàn)闄C(jī)器學(xué)習(xí)會(huì)用到MaxCompute分析出來(lái)的數(shù)據(jù),其他相類似的服務(wù)對(duì)數(shù)據(jù)進(jìn)行分析處理,分析出來(lái)的結(jié)果數(shù)據(jù)放到機(jī)器學(xué)習(xí)平臺(tái)里面,讓機(jī)器通過(guò)一些算法一些模型,去學(xué)習(xí)這里邊的數(shù)據(jù),生成一個(gè)希望達(dá)到的一個(gè)模型。

大數(shù)據(jù)開(kāi)發(fā)套件DataIDE

另外一個(gè)除了MaxCompute之外還有一個(gè)會(huì)用到一個(gè)大數(shù)據(jù)開(kāi)發(fā)操作DateIDE,大數(shù)據(jù)開(kāi)發(fā)套件DataIDE(現(xiàn)名:數(shù)據(jù)工場(chǎng)DataWorks)提供一個(gè)高效、安全的離線數(shù)據(jù)開(kāi)發(fā)環(huán)境。為什么介紹它呢?是因?yàn)镈ateIDE只是對(duì)數(shù)據(jù)任務(wù)工作流的一個(gè)開(kāi)發(fā),其實(shí)底層的數(shù)據(jù)處理,數(shù)據(jù)分析,都是在MaxCompute上完成,可以簡(jiǎn)單理解為DateIDE就是一個(gè)圖象化的數(shù)據(jù)開(kāi)發(fā)的服務(wù),它是為了幫助我們更好去使用MaxCompute。也可以看到,這我們可以在DateIDE進(jìn)行一個(gè)開(kāi)發(fā),不需要直接在MaxCompute里面進(jìn)行開(kāi)發(fā)了,在MaxCompute開(kāi)發(fā)的一個(gè)效果,跟在DateIDE里面開(kāi)發(fā)的效果對(duì)比。

這個(gè)是DateIDE整個(gè)應(yīng)用的一個(gè)場(chǎng)景,我們?cè)谶M(jìn)行數(shù)據(jù)分析的時(shí)候,需要對(duì)里面的原數(shù)據(jù)進(jìn)行整合統(tǒng)一保存,這個(gè)時(shí)候可以在DateIDE上實(shí)現(xiàn),把所有的原數(shù)據(jù)的信息統(tǒng)一匯總到MaxCompute里面進(jìn)行一個(gè)保存,同時(shí)還可以DateIDE進(jìn)行數(shù)據(jù)的加工,存儲(chǔ)等操作都可以在DateIDE上完成。DateIDE在整個(gè)數(shù)據(jù)分析的過(guò)程中可以對(duì)數(shù)據(jù)存儲(chǔ)、分析、處理、集群等處理。

MaxCompute的應(yīng)用開(kāi)發(fā)流程

MaxCompute的應(yīng)用開(kāi)發(fā)流程一共需要六步分別是:

(1)安裝配置環(huán)境

(2)開(kāi)發(fā)MR程序

(3)本地模式測(cè)試腳本

(4)導(dǎo)處jar包

(5)上傳到MaxCompute項(xiàng)目空間

(6)在MaxCompute中使用MR

下面我們以一個(gè)好友推薦的事例來(lái)詳細(xì)講解一下這個(gè)過(guò)程。首先需要去安裝MaxCompute客戶端,使用它的好處是可以在本地通過(guò)命令的方式去遠(yuǎn)程使用阿里云的MaxCompute,在本地只需要配置MaxCompute信息就可以。另外還需要去配置自己的一個(gè)開(kāi)發(fā)環(huán)境,因?yàn)楝F(xiàn)在阿里云的MaxCompute主要是兩種語(yǔ)言,一種是Java一種是Eclipse。然后新建項(xiàng)目,在開(kāi)發(fā)新建項(xiàng)目的時(shí)候,大家可以看到這個(gè)紅包,這個(gè)紅包就是需要配置本地的客戶端的信息。在進(jìn)入到寫代碼的過(guò)程 。

接下來(lái)就是簡(jiǎn)單的測(cè)試,開(kāi)發(fā)之后要測(cè)試,這個(gè)代碼是不是按照設(shè)想的方式去工作的。接著這邊輸入的是一個(gè)測(cè)試數(shù)據(jù),這個(gè)輸出的數(shù)據(jù)類別,就是輸出的這樣的一個(gè)表格,表格有三列,第一類是用戶A,第二類是用戶B,第三類是兩個(gè)潛在的共同好友的數(shù)量,只需要關(guān)注這三個(gè)數(shù)據(jù)就可以,然后就可以測(cè)試。接著第三個(gè)本地運(yùn)行的數(shù)據(jù)的代碼,運(yùn)行的結(jié)果就是通過(guò)本地的開(kāi)發(fā)測(cè)試,在本地測(cè)試的時(shí)候這邊有一個(gè)數(shù)據(jù),你第一步需要選擇是使用哪一個(gè)的一個(gè)項(xiàng)目處理。第二個(gè)要選擇輸入表和輸出表,要告訴他輸出表是哪個(gè),輸出表的目的是什么,告訴這個(gè)程序,你輸出的結(jié)果保存在表里面,配置好點(diǎn)擊運(yùn)行這個(gè)結(jié)果就出來(lái)了。

本地開(kāi)發(fā)測(cè)試成功之后,接著要把它打成一個(gè)Jar包,然后上傳到阿里云上,就是上傳到MaxCompute的集群里邊。第二個(gè)打完Jar包以后添加資源,下面就把剛剛輸出的Jar包,通過(guò)資源的管理,把剛剛輸入的Jar包上傳上來(lái)。本地開(kāi)發(fā)測(cè)試好的一個(gè)MR的Jar包已經(jīng)上傳到MaxCompute集群里邊。

上傳好了之后就可以使用它,去新建一個(gè)任務(wù),然后這個(gè)任務(wù)去起個(gè)名字,這個(gè)任務(wù)跟哪一個(gè)Jar包相關(guān)聯(lián),接著是OPENBMR,我們選的是MR的程序,所以里面選的是OPENMR模塊,生成這樣的一個(gè)任務(wù),進(jìn)入到編輯頁(yè)面,在編輯頁(yè)面里面首先告訴它,這個(gè)OPENMR這樣的一個(gè)任務(wù),使用的是上傳的好友推薦的一個(gè)Jar包,最下面告訴它Jar包里面的程序的邏輯是什么,在這個(gè)里面制定好之后點(diǎn)擊運(yùn)行結(jié)果就會(huì)出來(lái)。這個(gè)就是我們?cè)诒镜亻_(kāi)發(fā)測(cè)試,把資源上傳到MaxCompute的集群里面,接著在集群里面去使用我在本地開(kāi)發(fā)好的Jar包,這個(gè)就是整個(gè)的一個(gè)開(kāi)發(fā)和部署的一個(gè)流程。

掃碼獲取更多資訊:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/8803.html

相關(guān)文章

  • 坦率的講,企業(yè)容器云選K8S就對(duì)了!

    摘要:幫你揭開(kāi)擋在你與容器云之間的那層神秘面紗,看看你的企業(yè)究竟適不適合選用基于的容器云管理平臺(tái)。那么,選擇什么樣的容器云平臺(tái)就已經(jīng)是箭在弦上的大事了。 本文簡(jiǎn)單粗暴,直戳淚點(diǎn),ho,不,是直戳痛點(diǎn)。幫你揭開(kāi)擋在你與容器云之間的那層神秘面紗,看看你的企業(yè)究竟適不適合選用基于K8S的容器云管理平臺(tái)。 企業(yè)對(duì)容器云平臺(tái)的需求現(xiàn)狀是什么? 眾所周知,Docker很火,一大批互聯(lián)網(wǎng)公司早已領(lǐng)先一步,...

    SKYZACK 評(píng)論0 收藏0
  • 手把手,教你用MaxCompute+OpenSearch搭建分布式搜索引擎

    摘要:實(shí)驗(yàn)準(zhǔn)備工作注冊(cè)阿里云用戶,實(shí)名認(rèn)證并綁定支付寶開(kāi)通數(shù)加服務(wù)開(kāi)通后付費(fèi)服務(wù)。開(kāi)通大數(shù)據(jù)開(kāi)發(fā)套件服務(wù)開(kāi)通阿里云實(shí)名認(rèn)證賬號(hào)訪問(wèn),開(kāi)通,選擇按量付費(fèi)進(jìn)行購(gòu)買。 摘要: 最近,經(jīng)常有客戶咨詢?nèi)绾蔚统杀敬罱ǜ咝阅艿暮A繑?shù)據(jù)搜索引擎,比如實(shí)現(xiàn)公眾號(hào)檢索、影訊檢索等等。由于客戶的數(shù)據(jù)在阿里云上,所以希望找到云上解決方案。筆者開(kāi)始調(diào)研一些云上產(chǎn)品,很多人向我推薦了OpenSearch,所以花了點(diǎn)時(shí)間...

    Keven 評(píng)論0 收藏0
  • 手把手,教你用MaxCompute+OpenSearch搭建分布式搜索引擎

    摘要:實(shí)驗(yàn)準(zhǔn)備工作注冊(cè)阿里云用戶,實(shí)名認(rèn)證并綁定支付寶開(kāi)通數(shù)加服務(wù)開(kāi)通后付費(fèi)服務(wù)。開(kāi)通大數(shù)據(jù)開(kāi)發(fā)套件服務(wù)開(kāi)通阿里云實(shí)名認(rèn)證賬號(hào)訪問(wèn),開(kāi)通,選擇按量付費(fèi)進(jìn)行購(gòu)買。 摘要: 最近,經(jīng)常有客戶咨詢?nèi)绾蔚统杀敬罱ǜ咝阅艿暮A繑?shù)據(jù)搜索引擎,比如實(shí)現(xiàn)公眾號(hào)檢索、影訊檢索等等。由于客戶的數(shù)據(jù)在阿里云上,所以希望找到云上解決方案。筆者開(kāi)始調(diào)研一些云上產(chǎn)品,很多人向我推薦了OpenSearch,所以花了點(diǎn)時(shí)間...

    Bamboy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<