最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

GeaFlow圖計(jì)算快速上手之PageRank算法

2023-07-07 19:08 作者:GeaFlow  | 我要投稿

GeaFlow(品牌名TuGraph-Analytics) 已正式開(kāi)源,歡迎大家關(guān)注?。?!歡迎給我們 Star 哦!

GitHub?? https://github.com/TuGraph-family/tugraph-analytics

更多精彩內(nèi)容,關(guān)注我們的博客 https://geaflow.github.io/

GeaFlow介紹

GeaFlow(品牌名TuGraph-Analytics)是螞蟻集團(tuán)開(kāi)源的分布式實(shí)時(shí)圖計(jì)算引擎,目前廣泛應(yīng)用于金融風(fēng)控、社交網(wǎng)絡(luò)、知識(shí)圖譜以及數(shù)據(jù)應(yīng)用等場(chǎng)景。GeaFlow的核心能力是流式圖計(jì)算,流式圖計(jì)算相比離線圖計(jì)算提供了一種高時(shí)效性低延遲的圖計(jì)算模式,更多詳細(xì)內(nèi)容參考GeaFlow GitHub介紹->?https://github.com/TuGraph-family/tugraph-analytics

GeaFlow整體架構(gòu)如下所示:

- **GeaFlow DSL** GeaFlow對(duì)用戶提供圖表融合分析語(yǔ)言,采用SQL + ISO/GQL方式.用戶可以通過(guò)類似SQL編程的方式編寫(xiě)實(shí)時(shí)圖計(jì)算任務(wù).
- **GraphView API** GeaFlow以GraphView為核心定義的一套圖計(jì)算的編程接口,包含圖構(gòu)建、圖計(jì)算以及Stream API接口.
- **GeaFlow Runtime** GeaFlow運(yùn)行時(shí),包含GeaFlow圖表算子、task調(diào)度、failover以及shuffle等核心功能.
- **GeaFlow State** GeaFlow的圖狀態(tài)存儲(chǔ),用于存儲(chǔ)圖的點(diǎn)邊數(shù)據(jù).同時(shí)流式計(jì)算的狀態(tài)如聚合狀態(tài)也存放在State中.
- **K8S Deployment** GeaFlow支持K8S的方式進(jìn)行部署運(yùn)行.
- **GeaFlow Console** GeaFlow的管控平臺(tái),包含作業(yè)管理、元數(shù)據(jù)管理等功能.

PageRank算法介紹

PageRank是圖計(jì)算領(lǐng)域一個(gè)應(yīng)用廣泛的算法,由Google公司創(chuàng)始人之一拉里·佩奇與謝爾蓋·布林在1998年發(fā)明,主要用于網(wǎng)頁(yè)的排序。該算法基于網(wǎng)頁(yè)之間相互引用的關(guān)系,將網(wǎng)頁(yè)評(píng)分的思想引入到搜索引擎中,用于計(jì)算網(wǎng)頁(yè)的重要度和排名。

PageRank算法的核心思想是:一個(gè)網(wǎng)頁(yè)的重要度是由其他網(wǎng)頁(yè)對(duì)它的引用數(shù)量和質(zhì)量決定的。如果一個(gè)網(wǎng)頁(yè)被其他網(wǎng)頁(yè)引用得多,那么它的重要度就越高。同時(shí),如果一個(gè)網(wǎng)頁(yè)的引用來(lái)源也很重要,那么它對(duì)被引用網(wǎng)頁(yè)的貢獻(xiàn)也會(huì)更大。

實(shí)現(xiàn)PageRank算法的具體步驟包括:首先構(gòu)建網(wǎng)頁(yè)之間的鏈接關(guān)系圖,然后對(duì)圖進(jìn)行迭代計(jì)算,直到收斂為止。在每一次迭代中,每個(gè)網(wǎng)頁(yè)的得分都會(huì)被重新計(jì)算,并更新到下一次迭代中。最后,按照網(wǎng)頁(yè)得分的大小對(duì)搜索結(jié)果進(jìn)行排序,輸出排名前幾位的網(wǎng)頁(yè)。如下有4個(gè)頁(yè)面,A, B, C, D:


以A點(diǎn)為例,其每一輪的PageRank值計(jì)算方法如下:

PR(A) = d * (PR(D)/ 2 + PR(B)/1 + PR(C)/2) + (1- d)

每一個(gè)點(diǎn)的PageRank值等于其入點(diǎn)的PageRank值除以入點(diǎn)出邊數(shù)的加權(quán)和, 其中d為0~1之間的修正系數(shù).

PageRank算法在搜索引擎中廣泛應(yīng)用,成為搜索引擎排名的重要算法之一。除此之外,PageRank算法的思想也在社交網(wǎng)絡(luò)、推薦系統(tǒng)等領(lǐng)域得到了應(yīng)用。

TuGraph-Analytics實(shí)現(xiàn)PageRank

接口與實(shí)現(xiàn)

TuGraph-Analytics支持在圖查詢里調(diào)用圖算法,語(yǔ)法形式如下:

我們通過(guò)CALL語(yǔ)句調(diào)用具體的算法,通過(guò)YIELD定義算法的返回字段,比如page_rank算法返回點(diǎn)id和page rank值兩個(gè)字段,則可以通過(guò)YIELD(vid, prValue)來(lái)表示。

DSL里面實(shí)現(xiàn)一個(gè)圖算法需要實(shí)現(xiàn)AlgorithmUserFunction接口,其定義如下:

- init

算法的初始化接口,主要完成算法的一些初始化操作. PageRank的init方法實(shí)現(xiàn)如下:


- process

算法的主要處理邏輯,入?yún)楫?dāng)前Active點(diǎn)和要處理的消息,PageRank主要實(shí)現(xiàn)如下:


- getOutputType

定義算法返回類型,PageRank實(shí)現(xiàn)如下:


算法注冊(cè)

算法實(shí)現(xiàn)通過(guò)注解來(lái)定義算法名稱,如下所示:


算法和UDF一樣,需要注冊(cè)或者創(chuàng)建后才能使用. DSL內(nèi)置算法或者UDF在BuildInSqlFunctionTable中進(jìn)行注冊(cè).對(duì)于非內(nèi)置算法,可以通過(guò)create function語(yǔ)句來(lái)創(chuàng)建.

總結(jié)

本文主要介紹實(shí)時(shí)圖計(jì)算引擎GeaFlow的基本架構(gòu),然后介紹了圖算法PageRank的基本原理以及在GeaFlow中的實(shí)現(xiàn)細(xì)節(jié)和使用方式.


GeaFlow(品牌名TuGraph-Analytics) 已正式開(kāi)源,歡迎大家關(guān)注?。?!

歡迎給我們 Star 哦!

Welcome to give us a Star!

GitHub?? https://github.com/TuGraph-family/tugraph-analytics

更多精彩內(nèi)容,關(guān)注我們的博客 https://geaflow.github.io/?


GeaFlow圖計(jì)算快速上手之PageRank算法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
惠来县| 谷城县| 元谋县| 军事| 内丘县| 冀州市| 汝州市| 微山县| 临洮县| 长汀县| 垣曲县| 西盟| 平南县| 大丰市| 鹤峰县| 瑞丽市| 连平县| 巴楚县| 天全县| 濮阳市| 江口县| 平昌县| 阳信县| 凤庆县| 桐乡市| 巴塘县| 宜章县| 布拖县| 塔河县| 靖西县| 桐梓县| 资阳市| 苍南县| 长岛县| 弥勒县| 临江市| 阿瓦提县| 玛纳斯县| 中方县| 平阴县| 无锡市|