如下文章字數大約400字以及若幹代碼塊,閱讀時間需要20分鐘左右。
這裡所介紹的示例源自于一道面試題,
因直接粘貼邏輯影響格式,這裡直接截圖,如果有需要源碼的人,可私信我。
對于共同好友的分析,常見于我們各個社交軟件中,比如QQ等。
這裡分析基于Hadoop相關技術實現邏輯。
言歸正傳:
以下是QQ好友列表數據,冒号前是一個用戶,冒号後是該用戶的所有好友(數據中的好友是單向的)
A:B,C,D,F,E,O
B:A,C,E,K
C:F,A,D,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,D,E,O
I:A,O
J:B,O
K:A,C,D
L:D,E,F
M:E,F,G
O:A,H,I,J
求出:哪些人兩兩之間有共同好友以及他倆的共同好友都有誰?
整體解決思路是:
1、先求出用戶是哪些人的共同好友,比如:a是b、c 等用戶都具備
2、然後再得到哪些人有一些共同的好友。
所以,這裡需要執行2次mapreduce程序,第一次執行目的是上述第一步。然後,第二步基于第一步内容。
【1】執行第一次mapreduce程序
上述mapreduce執行完後,得到輸出的文件如下:
【2】基于第一次執行完的文件,執行第二次mapreduce邏輯:
得到最終的結果文件為:
至此,得到結果。
下篇預告:Hadoop中重要的HDFS中元數據備份機制。
已上内容,純屬一家之言,因本人能力一般,見識有限,如有問題,請不吝指正,感謝。
相關技術内容會持續更新,大家可随時交流,歡迎關注本頭條号
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!