![Page 1: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/1.jpg)
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
További MapReduce szemelvények: gráfproblémák
„Big Data” elemzési módszerek
Kocsis Imre [email protected]
2015. 10. 28.
![Page 2: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/2.jpg)
MapReduce: a teljes kép
Forrás: [1], p 30
![Page 3: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/3.jpg)
Partíciók és Kombinálás
Legegszerűbb part.: hash(kulcs) mod #reducer
o f: kulcs reducer
Kombinálás: lokális aggregálás
o „mini-reducer”
o Hálózati kommunikáció redukálása
o Általánosságban nem „csereszabatos” a reducer-rel
o Word countnál?
![Page 4: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/4.jpg)
PageRank
![Page 5: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/5.jpg)
PageRank
Keresés a weben: találatok sorrendezése?
o „spam farm”, „term spam”, „spider traps”, …
„random surfer” modell
o látogatás valószínűsége
o d csillapító paraméter
Egy oldal PageRank-je magas, ha
o sok oldal linkeli vagy
o magas PageRank-ű oldalak linkelik
![Page 6: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/6.jpg)
PageRank
𝐴 oldalt linkeljék 𝑇1, 𝑇2, … , 𝑇𝑛 oldalak.
0 < 𝑑 < 1.
o Eredeti, publikált default: 0.85
𝐶(𝐴): kimenő fokszám
Definíció:
𝑃𝑅 𝐴 = 1 − 𝑑 + 𝑑𝑃𝑅 𝑇1𝐶 𝑇1
+⋯+𝑃𝑅 𝑇𝑛𝐶 𝑇𝑛
~ random látogató helyének val. eloszlása
![Page 7: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/7.jpg)
Tranzíciós mátrix
![Page 8: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/8.jpg)
PageRank számítása
𝒗𝟎 kezdeti eloszlás
Egy lépés után: 𝑀𝒗𝟎
Két lépés után: 𝑀 𝑀𝒗𝟎 = 𝑀2𝒗𝟎
De ez egy Markov folyamat!
o Van 𝒗 stacionárius eloszlása,
o Ha a gráf erősen összefüggő és nyelőmentes
![Page 9: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/9.jpg)
PageRank számítása
Gyakorlatban: iterálás
o de max. a normál lebegőpontos aritmetika határáig (50-75 iteráció a webre)
Ez is négyzetes minden lépésben…
… de 𝑀 ritka volta kihasználható
![Page 10: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/10.jpg)
„teleportálás”: „spider traps” és „dead ends”
![Page 11: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/11.jpg)
MapReduce? 𝑡 db mátrix-vektor szorzás
N.B. a külső ciklus lehet probléma
o Job indítási overhead! o Mátrix újra felolvasása minden iterációban o …
𝑀 legyen 𝑛 × 𝑛-es mátrix
𝑥𝑖 = 𝑚𝑖𝑗𝑣𝑗
𝑛
𝑗=1
𝑛 = 100 nem Big Data…
Mapper, ha a vektor befér a memóriába: (𝑖,𝑚𝑖𝑗𝑣𝑗)
![Page 12: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/12.jpg)
MapReduce mátrix-vektor szorzás
Ha a vektor nem fér el a memóriában: „csíkozás” (striping)
![Page 13: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/13.jpg)
PageRank k2 mapperrel
![Page 14: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/14.jpg)
Általánosítás: a GIM-V primitív
„Generalized Iterative Matrix-Vector multiplication”
A szokásos feladat:
𝑀 × 𝑣 = 𝑣′, ahol 𝑣𝑖′ = 𝑚𝑖𝑗𝑣𝑗
𝑛𝑗=1
Valójában három operátor:
o combine2: a szorzás
o combineAll: a szumma
o assign: vektorelemek frissítése
![Page 15: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/15.jpg)
Általánosítás: a GIM-V primitív
„Generalized Iterative Matrix-Vector multiplication”
A szokásos feladat:
𝑀 × 𝑣 = 𝑣′, ahol 𝑣𝑖′ = 𝑚𝑖𝑗𝑣𝑗
𝑛𝑗=1
Valójában három operátor:
o combine2: a szorzás
o combineAll: n szorzás-eredmény szummája i-re
o assign: vektorelemek frissítése
![Page 16: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/16.jpg)
GIM-V
𝑣′ = 𝑀 ×𝐺 𝑣
𝑣𝑖′ = 𝑎𝑠𝑠𝑖𝑔𝑛(𝑣𝑖 , 𝑐𝑜𝑚𝑏𝑖𝑛𝑒𝐴𝑙𝑙𝑖({𝑥𝑗|𝑗 = 1…𝑛, 𝑥𝑗= 𝑐𝑜𝑚𝑏𝑖𝑛𝑒2(𝑚𝑖𝑗 , 𝑣𝑗)}))
Iteratív: ×𝐺-t konvergenciakritériumig alkalmazzuk
BTW feltételezve egy E(sid, did, val) és V(id,val)
táblát ×𝐺 SQL-ben:
![Page 17: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/17.jpg)
GIM-V: PageRank
M: oszlopnormalizált szomszédossági mátrix
combine2: 𝑐 × 𝑚𝑖𝑗 × 𝑣𝑗
combineAll: 1−𝑐
𝑛+ 𝑥𝑗𝑛𝑗=1
assign: 𝑣𝑛𝑒𝑤
![Page 18: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/18.jpg)
GIM-V: Random Walk with Restart
Csomópontok közelségének mérése
A k-adik csomópontból induló vektor egyenlete (M ua):
𝑟𝑘 = 𝑐𝑀𝑟𝑘 + 1 − 𝑐 𝑒𝑘
Ahol 𝑒𝑘 nullvektor a k-adik, 1 értékű pozíciótól eltekintve
combine2: 𝑐 × 𝑚𝑖𝑗 × 𝑣𝑗
combineAll: 1 − 𝑐 𝐼 𝑖 ≠ 𝑘 + 𝑥𝑗𝑛𝑗=1
assign: 𝑣𝑛𝑒𝑤
![Page 19: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/19.jpg)
GIM-V: összefüggő komponensek
Minden 𝑣𝑖-hez „komponens ID” 𝑐𝑖ℎ:
Minimum csomópont-ID ℎ hopon belül M: szomszédossági mátrix
Minden iterációban:
o Minden csomópont „elküldi” szomszédjainak 𝑐𝑖ℎ-ját
o Iteráció: minden csomópontban minimumképzés
combine2: 𝑚𝑖𝑗 × 𝑣𝑗
combineAll:𝑀𝐼𝑁{𝑥𝑗|𝑗 = 1…𝑛}
assign: 𝑀𝐼𝑁(𝑣𝑖 , 𝑣𝑛𝑒𝑤)
![Page 20: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/20.jpg)
GIM-V: összefüggő komponensek
Megállás: nem változik a vektor
Tétel: legfeljebb gráfátmérő számú lépés kell
o Diameter: pontpárok közötti legrövidebb utak hosszának maximuma
![Page 21: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/21.jpg)
GIM-V: BASE algoritmus
![Page 22: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/22.jpg)
GIM-V: BASE algoritmus
![Page 23: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/23.jpg)
GIM-V: algoritmusok
Naive multiplication, block multiplication, clustered edges, diagonal block iteration, …
Blokk szorzás: vektorokat és mátrixot is blokkosítva tárolunk (és csak ha nem nulla)
![Page 24: További MapReduce szemelvények gráfproblémák · Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék További MapReduce szemelvények:](https://reader034.vdocuments.pub/reader034/viewer/2022042300/5ecb19360918266ede1c5688/html5/thumbnails/24.jpg)
Hivatkozások [1] Lin, J., & Dyer, C. (2010). Data-Intensive Text Processing with MapReduce.
Synthesis Lectures on Human Language Technologies, 3(1), 1–177. doi:10.2200/S00274ED1V01Y201006HLT007
[2] http://www.slideshare.net/jeffreybreen/big-data-stepbystep-using-r-hadoop-with-rhadoops-rmr-package
[3] http://www.cloudera.com/content/support/en/downloads.html [4] http://hortonworks.com/products/hortonworks-sandbox/ [5] http://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html [6] http://home.mit.bme.hu/~ikocsis/notes/2013/10/23/(r)hadoop-sandbox-
howto/ [7] http://home.mit.bme.hu/~ikocsis/notes/2013/10/28/rhadoop-sandbox-with-
the-cloudera-quickstart-vm/ [8] Iványi, A. "Informatikai algoritmusok." ELTE Eötvös Kiadó, Budapest (2004). [9] Chu, C. T., Kim, S. K., Lin, Y. A., Yu, Y., Bradski, G. R., Ng, A. Y., & Olukotun, K.
(2006). Map-reduce for machine learning on multicore. In B. Schölkopf, J. Platt, & T. Hofmann (Eds.), Advances in Neural Information Processing Systems 19: Proceedings of the 2006 Conference (pp. 281–288). MIT Press.