寻找来同好友 – 数据挖掘 – Scala版

每当举行群众号的即刻段时日里,我接到了累累伴侣的砥砺,也闹质疑。有心上人说:“你开此耗时困难,不使错过市一个了,又无值钱。”还有朋友说:“你既然而上班,又如果带点儿单宝宝,还要举行手工,哪来如此多时光?”后来我妈知道了,专门打电话过来,又例如小时候同她狠狠地斥责我同一间断。不过,这次反对自己做缝纫不是盖自身中心无大志,而是觉得自身不务正业。她觉得现行什么的事物买不顶,何必浪费时间做手工,而且做的某些吧不好,还好意思放在网上。其实我妈妈不晓,我所以这样爱让做缝纫手工,还是负其的深刻影响呢。

参考:http://www.cnblogs.com/charlesblc/p/6126346.html

有关小时候之记忆,最多的便是自身妈妈让我们开衣服的状况。记忆中农村之夜幕连日亲临的百般早,劳作了同天,她趁着在晚上,夏则以在院中凉席上,缝制秋冬之冬装,冬则围炉而以,准备过年春夏之衣裤。即使出空闲时间,我妈也格外少出串门。一片一般的面料,经过她的相同淘汰一缝就成为我们身上的花花衣了。每当完成同样宗她即会见把我们于过去身穿。大部分时节它会怪惬意地点点头。当然为生无合身的早晚,她就是耐心地等同方方面面一律方方面面地改调试,直到满意为止。穿正我妈亲手缝制的行头,经常会面给教师可能同学家长问到:“小贝,你顿时件装真好看,哪里进的?”这时候我总是自豪地应对:“这是自个儿妈妈做的。”接下去自然会听到赞叹声:“你妈手真巧啊!”每每有这样的对话,别提心里基本上美了。

 1 package chunbo.recommend
 2 
 3 import org.apache.spark.SparkContext
 4 
 5 //共同好友统计问题
 6 //参考:http://www.cnblogs.com/charlesblc/p/6126346.html
 7 object testCommendFriend {
 8   def index(_spark_sc: SparkContext): Unit = {
 9 
10     //获取数据
11     val friendRDD = _spark_sc.textFile(Config.HDFS_HOSH + "test/common_friend")
12 
13     //map
14     val friendKV = friendRDD.map(x => {
15       val fields = x.split(":")
16       val person = fields(0)
17       val friends = fields(1).split(",").toList
18       (person, friends)
19     })
20 
21     val mapRDD = friendKV.flatMap(x => {
22       for (i <- 0 until x._2.length) yield (x._2(i), x._1)
23     })
24 
25     //reduce
26     val reduceRDD = mapRDD.reduceByKey(_ + "::" + _)
27 
28     //打印
29     reduceRDD.foreach(println)
30 
31   }
32 
33 }

高等学校毕业后,按照我妈的意思,找到同样卖祥和之工作,过上不思进取、随遇而安的生存。工作带娃之衍,又开捯饬缝缝补补的从业。因为凡零基础,也不曾叫了特别的造暨读书,只能靠自己找着限模仿边做。为记录自己的攻过程,我起了公众号“小贝缝纫录”,欢迎大家来关注。

(L,D::E)
(B,A::E::F::J)
(J,O)
(H,O)
(F,A::C::D::G::L::M)
(D,A::C::E::F::G::H::K::L)
(G,M)
(M,E::F)
(O,A::F::H::I::J)
(A,B::C::D::F::G::H::I::K::O)
(I,C::O)
(K,B)
(C,A::B::E::F::G::H::K)
(E,A::B::D::F::G::H::L::M)

深信每个人的童年还见面叫老人家或老师提问到:长大后思念做呀?很多小学校命题作文也是暨希望有关的。当自家报我妈我的盼望是开始平下缝纫铺的下,她狠狠地骂了自身同间断,说我尚未出息。因为别人家的子女想当先生、老师……都是荣誉而荣幸的生意,我却内心无大志。所以我妈一直要求自我优读书,从小到充分一直要是。

输出数据如下:

遵循我妈的逻辑,反对自己开缝纫铺有正值十足的说辞。她担心学缝纫会耽误读书,读不好题便设留于乡下种地。我这么瘦的一个丁,哪来那么稀力气。所以其对准自家读书之渴求呢不是特地大,只要非以乡下务农就吓了。我也真害怕面对为黄土背朝天地劳作,所以乖乖地管开并念下去。虽然尚未考上名牌大学,但为毕竟实现了我妈的意愿。

 

自我母亲做针线活的当儿我会忍不住趁热闹,用多余的多少布头,颇有新意地钻进一个鸡毛毽,拼一个沙袋,做个旗娃娃,缝一个聊钱包。也许,那就算是自己妈妈无意中给自身及之亲子手工课吧。那时,虽然没优惠的生活条件,但那段旧时光里所渲染之甜蜜也给自己深感满足。现在我尽着受手工打造,总想呢协调之宝贝亲手缝制点东西,虽然针脚不齐,设计拙劣,不厌其烦地缝了拆,拆了以缝,来来回回地折磨,但制造热情依旧丝毫休弱化,也许是当惦记逝去之小时候时段,也许是在故态复萌我妈无意中营造的安全感,也许是当顽固地搜索自己娘年轻时的影。

说明:

                                                 
(图片来源网络,向原图作者致谢)

整体代码可以参见Git地址:https://github.com/benben7466/SparkDemo/blob/master/spark-test/src/main/scala/testCommendFriend.scala

兹己着迷地折磨着缝缝补补的行,只愿意团结当开手工的长河遭到,能拿自己母亲被自己之那份安稳与扎实、宁静和和暖传递给本人之子女,让她们感受及平凡生活之光明和可爱。无论创作好坏,不管别人品评,做团结喜好开的行是无限多而满足的,无关金钱以及岁月,你就是不是啊。

 

录入的数目:

 

 

主干算法:

世家吓,关于“找来一块好友”的算法,网上有成千上万言语的实现,今天悠闲的衍,自己研究了下Scala算法的写法

 

盖逗号作为分割,左边的意味是右手集合的一道好友。

比如 (L,D::E),表示L是用户D和E的一路好友

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