利用hadoop來解決「共同好友」的問題

2022-02-24 05:04:53 字數 1253 閱讀 1092

假設a有好友b c d;b有好友a c d e;c有好友a b d e;d有好友a b c e;e有好友b c d。

a -> b c d

b -> a c d e

c -> a b d e

d -> a b c e

e -> b c d

則對於a來說,a -> b c d

(a b) -> b c d

(a c) -> b c d

(a d) -> b c d

對於b來說,b -> a c d e

(a b) -> a c d e

(b c) -> a c d e

(b d) -> a c d e

(b e) -> a c d e

對於c來說,c -> a b d e

(a c) -> a b d e

(b c) -> a b d e

(c d) -> a b d e

(c e) -> a b d e

對於d來說,d -> a b c e

(a d) -> a b c e

(b d) -> a b c e

(c d) -> a b c e

(d e) -> a b c e

對於e來說,e -> b c d

(b e) -> b c d

(c e) -> b c d

(d e) -> b c d

彙總得到

(a b) -> (a c d e) (b c d)

(a c) -> (a b d e) (b c d)

(a d) -> (a b c e) (b c d)

(b c) -> (a b d e) (a c d e)

(b d) -> (a b c e) (a c d e)

(b e) -> (a c d e) (b c d)

(c d) -> (a b c e) (a b d e)

(c e) -> (a b d e) (b c d)

(d e) -> (a b c e) (b c d)

則共同好友的關係是

(a b) -> (c d)

(a c) -> (b d)

(a d) -> (b c)

(b c) -> (a d e)

(b d) -> (a c e)

(b e) -> (c d)

(c d) -> (a b e)

(c e) -> (b d)

(d e) -> (b c)

hadoop求共同好友案例

4.1 需求分析 以下是qq的好友列表資料,冒號前是乙個使用者,冒號後是該使用者的所有好友 資料中的好友關係是單向的 a b,c,d,f,e,o b a,c,e,k c a,b,d,e,i d a,e,f,l e b,c,d,m,l f a,b,c,d,e,o,m g a,c,d,e,f h a,c...

mysql共同好友 Spark 實現共同好友

核心 如下 object sprk import org.apache.spark.sql.sparksession def main args array string unit logger.getlogger org setlevel level.off logger.getlogger ak...

利用Hadoop實現求共同好友的示例詳解

目錄 這種功能該如何實現呢?對redis比較了解的同學應該能很快想到,可以使用redis來實現這個功能。沒錯,redis確實是個不錯的可以實現這個功能的方案。但redis的實現有一定的侷限性,因為redis儲存和資料和計算時需要耗費較多的記憶體資源,設想一下,像騰訊qq這樣的規模,如果用這種方式做的...