Μαδηθόο Παξαιιειηζκόο κε Map Reduce θαη Spark. Δηζαγσγηθά Μνληέιν Θέκαηα πινπνίεζεο Παξαδείγκαηα Spark

Σχετικά έγγραφα
Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Αντισταθμιστική ανάλυση

Constructors and Destructors in C++

Ενδεικτικά Θέματα Στατιστικής ΙΙ

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Αιγόξηζκνη Δθρώξεζε, Δίζνδνο θαη Έμνδνο ηηκώλ Γνκή αθνινπζίαο. Δηζαγσγή ζηηο Αξρέο ηεο Δπηζηήκεο ησλ Η/Υ

MapReduce: Simplified Data Processing on Large Clusters

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

ΘΔΜΑ 1 ο Μονάδες 5,10,10

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Άσκηση 1 - Μοπυοποίηση Κειμένου

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

Εξγαζηήξην Πιεξνθνξηθήο

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΕΞΙΣΩΣΕΙΣ. (iv) (ii) (ii) (ii) 5. Γηα ηηο δηάθνξεο ηηκέο ηνπ ι λα ιπζνύλ νη εμηζώζεηο : x 6 3 9x

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

ΥΛΙΚΑ ΠΑΡΟΝ ΚΑΙ ΜΕΛΛΟΝ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ ΣΜΗΜΑ ΕΠΙΣΗΜΗ ΚΑΙ ΣΕΧΝΟΛΟΓΙΑ ΤΛΙΚΩΝ

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

ΕΞΟΡΤΞΗ & ΚΑΣΑΚΕΤΕ ΣΗΝ ΕΤΡΩΠΗ ΜΑΘΗΜΑ 43

MySQL Εργαστήριο #5 Ενεργοποιητές (συνέχεια)

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

x x x x tan(2 x) x 2 2x x 1

Διατείριση Φσσικών Καταστρουών: ACTIVE LANDSLIDE INVENTORY MAPPING AND SUSCEPTIBILITY ZONING

Ανάπηςξη Δθαπμογών ζε Ππογπαμμαηιζηικό Πεπιβάλλον

Διάρηζηα Δπηθαιύπηνληα Γέλδξα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

Εισαγωγή στοςρ κβαντικούρ ςπολογιστέρ και αλγόπιθμοςρ. Γηδάζθωλ : Φνπληνπιάθεο Αληώληνο

Transcript:

Μαδηθόο Παξαιιειηζκόο κε Map Reduce θαη Spark Δηζαγσγηθά Μνληέιν Θέκαηα πινπνίεζεο Παξαδείγκαηα Spark

Δπραξηζηίεο Map-Reduce Κάπνηεο δηαθάλεηεο ζηεξίδνληαη ζε κεγάιν βαζκό ζην πιηθό πνπ είλαη δηαζέζηκν από ην εξγαζηήξην Infolab ηνπ Stanford γηα ην κάζεκα CS347 (http://infolab.stanford.edu) ζην ειεύζεξα δηαζέζηκν βηβιίν «Data-Intensive Text Processing with MapReduce» ζε πιηθό από ηελ Databricks θαη spark-summit.org 2

Map-Reduce Τη είλαη ην MapReduce Πξόθεηηαη γηα έλα πξνγξακκαηηζηηθό κνληέιν, πνπ είλαη θαηάιιειν γηα επεμεξγαζία πνιύ κεγάισλ όγθσλ δεδνκέλσλ ζε θαηαλεκεκέλνπο πόξνπο. Βαζίδεηαη ζε ηδέεο γλσζηέο από δεθαεηίεο! Αξρηθά αλαπηύρζεθε από ηελ Google αιιά νη πεξηζζόηεξνη ην ρξεζηκνπνηνύλ κέζσ ηεο πινπνίεζεο αλνηρηνύ θώδηθα Hadoop. Τν Spark κπνξεί λα ζεσξεηεί σο κία επέθηαζή ηνπ. 3

Map-Reduce Πάξα πνιιά δεδνκέλα. Βαζηθό θίλεηξν Google: 100TB/day ην 2004, 20PB/day ην 2008. ebay (2009): 170 10 12 εγγξαθέο, 150 10 9 λέεο εγγξαθέο θαζεκεξηλά, 2-6,5 PB δεδνκέλα ρξεζηώλ. Facebook(2009): 2,5PB, 15 TB θάζε κέξα. LHC: 15PB/έηνο. Πνιινί αιγόξηζκνη πνπ βαζίδνληαη ζε εθπαίδεπζε δνπιεύνπλ θαιύηεξα κε πεξηζζόηεξα δεδνκέλα. 640K πρέπει να επαρκούν για ηον καθένα 4

Γεκηνπξγία Δπξεηεξίνπ (index) θεηκέλνπ - Ι Map-Reduce Ροή ζελίδων buffers 2 1 dog cat rat dog (rat, 1) (dog, 1) (dog, 2) (cat, 2) (cat, 2) (dog, 1) (dog, 2) (dog, 3) Ενδιάμεζα αποηελέζμαηα rat dog 3 (rat, 3) (dog, 3) (rat, 1) (rat, 3) Δίζκορ Φόπηωζη Tokenizing Ταξινόμηζη 5

Γεκηνπξγία Δπξεηεξίνπ (index) θεηκέλνπ - ΙΙ Map-Reduce (cat, 2) (dog, 1) (ant, 5) Ενδιάμεζα αποηελέζμαηα (dog, 2) (dog, 3) (rat, 1) (rat, 3) (ant, 5) (cat, 4) (dog, 4) (dog, 5) (eel, 6) Merge (cat, 2) (cat, 4) (dog, 1) (dog, 2) (dog, 3) (dog, 4) (dog, 5) (eel, 6) (rat, 1) (rat, 3) (ant: 2) (cat: 2,4) (dog: 1,2,3,4,5) (eel: 6) (rat: 1, 3) Τελικό αποηέλεζμα 6

Τππηθή Δθαξκνγή-Πξόβιεκα: Map-Reduce 1. Γηαβάδνπκε κία-κία ηηο εγγξαθέο από έλα κεγάιν ζύλνιν δεδνκέλσλ. 2. Παξάγνπκε θάηη ρξήζηκν από θάζε εγγξαθή. 3. Αλαδηαηάζζνπκε θαη ηαμηλνκνύκε ηα ελδηάκεζα απνηειέζκαηα. 4. Σπλαζξνίδνπκε ηα ελδηάκεζα απνηειέζκαηα. 5. Παξάγνπκε ην ηειηθό απνηέιεζκα. 7

Map-Reduce Γεληθό Μνληέιν επεμεξγαζίαο: Map Ροή ζελίδων buffers Map 2 1 dog cat rat dog (rat, 1) (dog, 1) (dog, 2) (cat, 2) (cat, 2) (dog, 1) (dog, 2) (dog, 3) Ενδιάμεζα αποηελέζμαηα rat dog 3 (rat, 3) (dog, 3) (rat, 1) (rat, 3) Δίζκορ Φόπηωζη Tokenizing Ταξινόμηζη 8

Γεληθό Μνληέιν επεμεξγαζίαο: Reduce Map-Reduce (cat, 2) (dog, 1) (ant, 5) Ενδιάμεζα αποηελέζμαηα (dog, 2) (dog, 3) (rat, 1) (rat, 3) (ant, 5) (cat, 4) (dog, 4) (dog, 5) (eel, 6) Merge (cat, 2) (cat, 4) (dog, 1) (dog, 2) (dog, 3) (dog, 4) (dog, 5) (eel, 6) (rat, 1) (rat, 3) Reduce (ant: 2) (cat: 2,4) (dog: 1,2,3,4,5) (eel: 6) (rat: 1, 3) Τελικό αποηέλεζμα 9

Σπλνπηηθή Πεξηγξαθή Map-Reduce map ( θιεηδί, ηηκή ) ιίζηα από δεύγε (θιεηδί, ηηκή ) reduce (θιεηδί, ηηκή list) ιίζηα κε ηειηθή_ηηκή γηα θάζε θιεηδί Ή αιιηώο: Map: (k1, v1) [(k2, v2)] // ην [] ζπκβνιίδεη ιίζηα Reduce: (k2, [v2]) [v3] //ζε εθδόζεηο Hadoop κπνξεί λα αιιάμεη ην θιεηδί k2 ζε k3. Τν θιεηδί δελ έρεη εδώ ηελ απζηεξή έλλνηα ησλ ΒΓ, δει. κπνξνύλ λα ππάξρνπλ πεξηζζόηεξεο ελδηάκεζεο ηηκέο κε ην ίδην θιεηδί. 10

map(string doc, String value); // doc: όλνκα εγγξάθνπ // value: πεξηερόκελν εγγξάθνπ for each word w in value: EmitIntermediate(w, 1 ); Map-Reduce Παξάδεηγκα: θαηακέηξεζε εκθαλίζεσλ ιέμεσλ Παξάδεηγκα: map(doc, cat dog cat bat dog ) emits [(cat 1), (dog 1), (cat 1), (bat 1), (dog 1)] 11

Map-Reduce Παξάδεηγκα: θαηακέηξεζε εκθαλίζεσλ ιέμεσλ reduce(string key, Iterator values); // key: ιέμε // values: ιίζηα κε θαηακεηξήζεηο int result = 0; for each v in values: result += ParseInt(v) Emit(AsString(result)); Παξάδεηγκα: reduce( dog, [1 1 1 1]) emits 4 12

Source data Split data Mappers Workers 13

Mappers Split data Workers 14

Mappers Split data Workers 15

Mappers Split data Workers 16

Mappers Split data Workers 17

Mappers Split data Workers 18

Mappers Split data Workers 19

Mappers Split data Workers 20

Mappers Split data Workers 21

Mappers Split data Workers 22

Mappers Split data Workers 23

Mappers Split data Workers 24

Shuffle Workers 25

Shuffle Workers 26

Reduce Workers 27

Σύλνςε παξάιιειεο εθηέιεζεο User Program fork fork fork assign map Master assign reduce Input Data Split 0 Split 1 Split 2 read Worker Worker Worker local write remote read, sort Worker Worker write Output File 0 Output File 1 28

Μηα άιιε ζεώξεζε ηύπνπ ΒΓ Mapper: (εξώηεκα θαηά βάζε κε ηειεζηέο πνπ επεμεξγάδνληαη θάζε πιεηάδα μερσξηζηά) Shuffle: GROUP BY Reducer: SELECT Aggregate() 29

Map-Reduce Σπληνληζκόο θόκβνο master (MRv1) O θόκβνο master Διέγρεη αλ κηα εξγαζία (task) δελ έρεη εθηειεζηεί (idle), εθηειείηαη (in-progress) ή έρεη νινθιεξσζεί (completed). Οη εξγαζίεο ρξνλνδξνκνινγνύληαη κόιηο ειεπζεξώλνληαη θόκβνη. Όηαλ νινθιεξώλεηαη κία map εξγαζία, ν master ελεκεξώλεηαη γηα ηε ζέζε θαη ην κέγεζνο ησλ ελδηάκεζσλ απνηειεζκάησλ, πνπ είλαη ζε ηόζα αξρεία, όζα θαη νη θόκβνη γηα ηε reduce. Καηόπηλ ελεκεξώλνληαη νη θόκβνη γηα ηε reducer. Δπίζεο ν master ειέγρεη πεξηνδηθά (κε pings) ηνπο θόκβνπο γηα ηνλ εληνπηζκό ζθαικάησλ. 32

Θέκαηα πινπνίεζεο Σπλαξηήζεηο ζπλδπαζκνύ Σύζηεκα Αξρείσλ Γηακεξηζκόο εηζόδνπ θαη θιεηδηώλ Απνηπρίεο Δξγαζίεο Backup Ταμηλόκεζε απνηειεζκάησλ Map-Reduce 33

Map-Reduce Μέζνδνη θαη θιάζεηο Κάζε εξγαζία ζπάεη ζε tasks πνπ πεξηιακβάλνπλ κπινθ από δεύγε θιεηδηώλ-ηηκώλ. Γηα θάζε task δεκηνπξγείηαη έλα mapper object, πνπ θαιεί ηε κέζνδν map γηα θάζε δεύγνο. 34

Map-Reduce Σπλαξηήζεηο ζπλδπαζκνύ (combine) [cat 1], [cat 1], [cat 1]... worker worker [dog 1], [dog 1]... worker Παρόμοιο με ηην εκηέλεζη ενός ηοπικού reduce ζηα ενδιάμεζα αποηελέζμαηα. worker [cat 3]... worker [dog 2]... worker 35

Καηαλεκεκέλν Σύζηεκα Αξρείσλ Map-Reduce Όλες οι μεηακινήζεις δεδομένων γίνονηαι μέζω ενός καηανεμημένοσ ζσζηήμαηος αρτείων. Ο κάθε worker μπορεί να προζπελαύνει κάθε μέρος ηης ειζόδοσ Ο κάθε reduce worker έτει πρόζβαζη και ζηοσς ηοπικούς δίζκοσς κάθε worker μπορεί να γράθει ζηο δίζκο ηο κομμάηι ηης απάνηηζης ποσ ζσνειζθέρει. Η απάνηηζη είναι ζ ένα καηανεμημένο αρτείο 36

Map-Reduce Γηακεξηζκόο εηζόδνπ θαη θιεηδηώλ Πόζνη ζα είλαη θόκβνη worker; Καιύηεξα λα ππάξρνπλ πνιιά θνκκάηηα εηζόδνπ αλά θόκβν, γηα θαιύηεξε εμηζνξξόπεζε θόξηνπ θαη γηα θαιύηεξε αληηκεηώπηζε απνηπρηώλ. Σε πόζα θνκκάηηα ζα δηακεξηζηεί ε είζνδνο; Πην πνιιά από ηνλ αξηζκό ησλ θόκβσλ, Πνπ είλαη ήδε κεγάινο. Σηα ηππηθά παξαδείγκαηα ηεο google ν δηακεξηζκόο είλαη ζε θνκκάηηα ησλ 64MB. Η αλάζεζε γίλεηαη έηζη ώζηε λα αλαηίζνληαη θνκκάηηα ηεο εηζόδνπ ζηνπο πην θνληηλνύο θόκβνπο. Όηαλ απηό είλαη εθηθηό 37

Map-Reduce Απνηπρίεο Ο θόκβνο Master εληνπίδεη απνηπρίεο θαη μαλα αλαζέηεη ηελ εξγαζία ηνπ θόκβνπ πνπ απέηπρε ζε άιιν θόκβν worker. Aλ νη απνηπρίεο νθείινληαη ζε ιάζε ζηα δεδνκέλα εηζόδνπ, ηόηε ην αληίζηνηρν αξρηθό θνκκάηη δεδνκέλσλ κπνξεί λα αθαηξεζεί. ok? master split j worker redo j worker 38

Backup Δξγαζίεο Υπάξρεη πεξίπησζε έλα κεράλεκα λα έρεη κείλεη πίζσ ζηελ εθηέιεζε ησλ εξγαζηώλ (straggler) ιόγσ π.ρ., θάπνηνπ ηερληθνύ πξνβιήκαηνο, όπσο ραιαζκέλνο δίζθνο. Δμαηηίαο απηνύ ηνπ κεραλήκαηνο, όιε ε επεμεξγαζία θαζπζηεξεί. Όηαλ πνιιέο δηεξγαζίεο εθηεινύληαη παξάιιεια, ε πην αξγή θαζνξίδεη θαη ηνλ ρξόλν νινθιήξσζεο. Λύζε: όηαλ πιεζηάδεη ε ζπλνιηθή εξγαζία πξνο ην ηέινο, ηόηε ν ζπληνληζηήο ρξνλνδξνκνινγεί πνιιαπιέο θνξέο ηηο map/reduce ππνεξγαζίεο πνπ απνκέλνπλ. Με ην ζθεπηηθό όηη ηνπιάρηζηνλ κία ζα νινθιεξσζεί ζηνλ πξνβιεπόκελν ρξόλν. Υπάξρνπλ επηπιένλ κεραληζκνί γηα ηελ δηαγξαθή πεξηηηώλ (δηπιώλ) απνηειεζκάησλ όηαλ όιεο νη ππνεξγαζίεο ηειεηώλνπλ θαλνληθά. Map-Reduce 39

Ταμηλόκεζε απνηειεζκάησλ Γίλεηαη ζε θάζε θόκβν βάζεη θιεηδηνύ. Map-Reduce [k 1, v 1 ] [k 3, v 3 ] [k 1, T 1 ] [k 2, T 2 ] [k 3, T 3 ] [k 4, T 4 ] 40

Παξάδεηγκα: ηαμηλόκεζε εγγξαθώλ Map-Reduce 5 e 3 c 6 f 2 b 1 a 6 f* W1 W2 3 c 5 e 6 f 1 a 2 b 6 f* W5 1 a 3 c 5 e 7 g 9 i 8 h 4 d 9 i 7 g W3 7 g 9 i 4 d 8 h W6 2 b 4 d 6 f 6 f* 8 h Map: extract k, output [k, record] Reduce: Τίποηα! 41

Map-Reduce Πιενλεθηήκαηα Τν κνληέιν Map-Reduce θξύβεη ηηο ηερληθέο ιεπηνκέξεηεο ηεο παξαιιεινπνίεζεο θαη παξέρεη built-in κεραληζκνύο αλάθακςεο από ζθάικαηα. Πνιιά πξνβιήκαηα κπνξνύλ λα εθθξαζηνύλ κε βάζε ην κνληέιν Map-Reduce. Οη εθαξκνγέο θιηκαθώλνληαη ζε ρηιηάδεο κεραλήκαηα. Αιιά παξόκνηα θιηκάθσζε επηηπγραλεηαη θαη κε παξάιιειε επεμεξγαζία εξσηεκάησλ ζε αξρηηεθηνληθέο shared nothing. 42

Μεηνλεθηήκαηα Τν κνληέιν επεμεξγαζίαο κνλαδηθήο εηζόδνπ θαη δύν ζηαδίσλ δελ είλαη επέιηθην ώζηε λα πξνζαξκόδεηαη ζε όια ηα επηζπκεηά ζελάξηα. Απαηηείηαη ε ζπγγξαθή θώδηθα αθόκε θαη γηα ηνπο πην ζπλεζηζκέλνπο ηειεζηέο, όπσο επηινγήο θαη πξνβνιήο. Γήισζε εξγαζηώλ ζε πνιύ ρακειόηεξν επίπεδν ζε ζρέζε κε ηελ SQL. Ο θώδηθαο κέζα ζηηο ζπλαξηήζεηο map θαη reduce δελ είλαη θαλεξόο δπζθνιία ζηελ βειηηζηνπνίεζε. Map-Reduce Η σσέση και η σύγκπιση τος Map-Reduce με κλασική παπάλληλη επεξεπγασία επωτημάτων είναι θέμα πος έσει πποκαλέσει πολλέρ σςζητήσειρ. Θα μαρ απασσολήσει και στη σςνέσεια. 43

Map-Reduce Παξαδείγκαηα - A Καηανεμημένο Grep: map: παξάγεη κία γξακκή αλ ε ζπγθεθξηκέλε γξακκή ηαπηίδεηαη κε ην πξόηππν. reduce: απιή αληηγξαθή ησλ ελδηάκεζσλ απνηειεζκάησλ ζηελ έμνδν. 44

Παξαδείγκαηα - B Καηαμέηρηζη ηης ζστνόηηηας προζπέλαζης μιας διεύθσνζης URL: Map-Reduce Map: επεμεξγαζία ησλ αξρείσλ log θαη παξαγσγή ελδηάκεζσλ απνηειεζκάησλ ηεο κνξθήο <URL, 1> γηα θάζε πξνζπέιαζε. Reduce: πξόζζεζε όισλ ησλ ηηκώλ γηα θάπνην ζπγθεθξηκέλν URL θαη παξαγσγή δεπγώλ <URL, total count>. 45

Map-Reduce Παξαδείγκαηα - Γ Ανηίζηροθος Γράθος Web-Link: Map: παξαγσγή δεπγώλ <target, source> γηα θάζε ζύλδεζκν target πξνο κηα ζειίδα από ηελ ζειίδα source πνπ εθείλε ηε ζηηγκή επεμεξγάδεηαη. Reduce: απιή αληηγξαθή ζηελ έμνδν ησλ απνηειεζκάησλ πνπ έρνπλ ηε κνξθή δεπγώλ <target, list(source)>. 46

Map-Reduce Υιηθό γηα κειέηε MapReduce: Simplified Data Processing on Large Clusters, Jeffrey Dean and Sanjay Ghemawat, http://labs.google.com/papers/mapreduce-osdi04.pdf Hadoop: πινπνίεζε αλνηρηνύ θώδηθα 47

SPARK In brief, Spark is a unified platform for cluster computing, enabling big data management and analytics. It is an Apache Project and its current version is 2.0.1 It is one of the most active projects at Apache. 48

The Spark Ecosystem SQL MLlib Streaming GraphX Hadoop Cassandra Mesos Tachyon... 49

Resilient Distributed Datasets (RDDs) Data manipulation in Spark is heavily based on RDDs. An RDD is an interface composed of: a set of partitions a list of dependencies a function to compute a partition given its parents a partitioner (optional) a set of preferred locations per partition (optional) Simply stated: an RDD instance is a distributed collections of items. In particular: an RDD instance is a read-only collection of items partitioned across a set 50 of machines that can be rebuilt if a partition is destroyed.

Resilient Distributed Datasets (RDDs) // define the spark context val sc = new SparkContext(...) // file is an RDD from HDFS val filerdd = sc.textfile( hdfs://... ) // sosrdd is another RDD based on filerdd val sosrdd = file.filter(_.contains( SOS )) sosrdd.count() // this is an action 51

Resilient Distributed Datasets (RDDs) There are transformations on RDDs that allow us to create new RDDs: map, filter, groupby, reducebykey, partitionby, sortbykey, join, etc Also, there are actions applied to the RDDs: reduce, collect, take, count, saveastextfile, etc Note: computation takes place only in actions and not in transformations! (A form of lazy evaluation) 52

53