Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Efficient Processing of k Nearest Neighbor Joins using MapReduce Aristotle University of Thessaloniki Computer Science Department MSc. Advanced Data Indexing.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Efficient Processing of k Nearest Neighbor Joins using MapReduce Aristotle University of Thessaloniki Computer Science Department MSc. Advanced Data Indexing."— Μεταγράφημα παρουσίασης:

1 Efficient Processing of k Nearest Neighbor Joins using MapReduce Aristotle University of Thessaloniki Computer Science Department MSc. Advanced Data Indexing John Koumarelas,

2 Περιεχόμενα 1.Εισαγωγή 2.Προαπαιτούμενα 3.Επισκόπηση του KNN join με MapReduce 4.Διαχείριση του KNN join με MapReduce 5.Ελαχιστοποίηση αντιγράφων του S 6.Πειραματικά αποτελέσματα

3 Εισαγωγή [1/5] Σύνολα δεδομένων R και S Εύρεση kNN από το σύνολο S ∀ στοιχείο r του R Συνδυασμός kNN query & join operation Μεγάλος όγκος δεδομένων Κεντρικοποιημένες μέθοδοι, μη αποδοτικές Συνοπτικά Mappers: ομαδοποιούν τα στοιχεία σε ομάδες (partitions) Reducers: πραγματοποιούν join σε κάθε ομάδα στοιχείων ξεχωριστά

4 Εισαγωγή [2/5] Μεταφορά των δεδομένων ακριβή Ανάγκη για pruning rules Eλαχιστοποίηση του αριθμού των αντιγράφων (από το σύνολο S) Ελαττώνουν τόσο το κόστος της μεταφοράς όσο και των υπολογισμών Ο αλγόριθμος συνολικά βρίσκει exact λύσεις όχι προσεγγιστικές.

5 Εισαγωγή [3/5] Χρησιμότητα σε Data mining & Analytic applications: π.χ. K-means, k-medoids clustering & outlier detection Μεγάλο το κόστος Naive μέθοδος ∀ στοιχείο του R διαβάζουμε όλα τα στοιχεία του S και κρατάμε τις κοντινότερες k αποστάσεις  O(|R| * |S|) Οι προηγούμενες ερευνητικές δουλειές εστιασμένες σε: Σχεδιασμό τεχνικών ευρετηρίασης για αποφυγή ανάγνωσης όλου του dataset και pruning υπολογισμών απόστασης Κυρίως σε κεντρικοποιημένη λογική  Το σύστημα κάποτε θα καταρρεύσει με την συνεχόμενη αύξηση του όγκου των δεδομένων (ειδικά με δεδομένα πολλών διαστάσεων) Κόστος υπολογισμού αποστάσεων & κατάρα της διαστασιμότητας  μείωση της ικανότητας pruning των indexes

6 Εισαγωγή [4/5] MapReduce Χρησιμοποιείται τόσο στη βιομηχανία όσο και στην έρευνα Simple, flexible, fault tolerant and scalable Τρέχουσες τεχνικές δυστυχώς δεν μπορούν να εφαρμοστούν στο MapReduce εύκολα B + -tree & R-tree, δύσκολη προσαρμογή σε αυτό το παράλληλο και κατανεμημένο περιβάλλον

7 Εισαγωγή [5/5] Γενική ιδέα Σπάμε το σύνολο R σε κομμάτια R i και αντιστοιχίζουμε τα στοιχεία του R σε αυτά τα κομμάτια (κάθε κομμάτι: 1 pivot στοιχείο) ∀ R i σχηματίζουμε ένα σύνολο S i, με το οποίο θα κάνουμε join Το σύνολο S i πρέπει να περιέχει τους γείτονες όλων των στοιχείων του R i οπότε οδηγούμαστε σε replicated data το οποίο αυξάνει το κόστος

8 Προαπαιτούμενα - kNN join Απόσταση: Ευκλείδια L 2 n-dimensional metric space D Definition 2 kNN join

9 Προαπαιτούμενα – MapReduce Framework Key-value pairs Map: Input: key-value pair Output: intermediate key-value pairs Reduce: Input: key-[values] Output: key-value  result Hadoop & HDFS (Yahoo!  Apache Software Foundation) Namenode  Datanode Jobtracker  Tasktracker

10 Προαπαιτούμενα – Voronoi Diagram based Partitioning [1/3] Δοθέντος ενός dataset O Επιλογή M στοιχείων (τα οποία μπορεί να μην ανήκουν στο O) ως στοιχεία pivots Χωρισμός των στοιχείων του O σε M κομμάτια, όπου κάθε στοιχείο ανατίθεται στο κοντινότερό του pivot P i O : σύνολο στοιχείων από το O που βρίσκονται πιο κοντά στο pivot p i

11 Προαπαιτούμενα – Voronoi Diagram based Partitioning [2/3] U(P i O ): max distance from pivot p i to the objects of P i O L(P i O ): min distance from pivot p i to the objects of P i O Definition 3 Range Selection Dataset O, object q, distance threshold θ Find all objects ( Ō ) of O, such that ∀ o ∈ Ō, |q, o| ≤ θ Theorem 1 d(o,HP(p i,p j ))

12 Προαπαιτούμενα – Voronoi Diagram based Partitioning [3/3] Corollary 1 [pruning] Give a partition P i O and P i O ≠ P q O, if we can derivce d(q,HP(p q,p i )) > θ, then ∀ o ϵ P i O, |q,o| > θ. Theorem 2 [pruning] Given a partition P i O, ∀ o ϵ P i O, the necessary condition that |q,o| ≤ θ is:

13 Επισκόπιση του KNN join με MapReduce [1/2]

14 Επισκόπιση του KNN join με MapReduce [2/2]

15 Διαχείριση του KNN join με MapReduce

16 Διαχείριση του KNN join με MapReduce – Data preprocessing Εύρεση pivots Random Selection T τυχαία υποσύνολα στοιχείων Για κάθε υποσύνολο υπολογισμός sum αποστάσεων μεταξύ όλων των στοιχείων Υποσύνολο με το μεγαλύτερο sum αποστάσεων, επιλογή των στοιχείων για pivots Farthest Selection Επαναληπτικά Επιλογή sample από το R (μιας και το R μπορεί να είναι πολύ μεγάλο για να χωράει στη RAM master node) 1.Επιλογή τυχαίου 1 ου στοιχείου ως pivot 2.Επιλογή του στοιχείου που απέχει περισσότερο από το 1 ο pivot. 3.Στην i-οστή επανάληψη θέλουμε το στοιχείο που μεγιστοποιεί το άθροισμα των αποστάσεων από όλα τα i-1 έπιλεγμένα pivots K-means Selection Εφαρμόζουμε τον κλασικό αλγόριθμο k-means Τα κέντρα των clusters που παράγονται αποτελούν τα pivots

17 Διαχείριση του KNN join με MapReduce

18 Διαχείριση του KNN join με MapReduce – 1 η φάση MR

19 Διαχείριση του KNN join με MapReduce – 2 η φάση MR [1/3] Στόχος των mappers είναι να βρούνε τα S i που αντιστοιχούνε σε κάθε R i Ανάγκη για καθορισμό thresholds με βάση τα οποία θα γίνεται pruning Απόσταση k-οστού γείτονα

20 Διαχείριση του KNN join με MapReduce – 2 η φάση MR [2/3]

21 Διαχείριση του KNN join με MapReduce – 2 η φάση MR [3/3]

22 Ελαχιστοποίηση αντιγράφων του S [1/3] Απαιτείται η μεγιστοποίηση του LB(P j S, P i R ) και η ελαχιστοποίηση του |s, p j |. Αυτό επιτυγχάνεται με την αύξηση των partitions (pivots) Με αυτό τον τρόπο όμως δυσκολεύει ο τρόπος χειρισμού των partitions… Εισαγωγή των groups (ομαδοποίηση των partitions σε groups) Cost Model

23 Ελαχιστοποίηση αντιγράφων του S [2/3] Grouping Strategies Geometric Grouping Βασίζεται στην λογική ότι μακρινά partitions έχουν λίγες πιθανότητες να έχουν τους ίδιους kNN  ομαδοποιεί κοντινά partitions

24 Ελαχιστοποίηση αντιγράφων του S [3/3] Greedy grouping RP(S,G i ) στοιχεία του S i Στόχος η ελαχιστοποίηση του: Σύμφωνα με το θεώρημα 6 Ωστόσο είναι αρκετά ακριβό να υπολογίσουμε το πιο partition ελαχιστοποιεί την παραπάνω ποσότητα…Γιατί χρειάζεται να υπολογίσουμε τον αριθμό των νέων στοιχείων από το S που πρέπει να προστεθούν στο S i Έτσι: αν Βάζουμε όλα τα στοιχεία του Οπότε:

25 Πειραματικά αποτελέσματα [1/7] Approaches H-BRJ: R-tree PGBJ: partitioning & grouping PBJ: partitioning Datasets Forest FCoverType (Forest) This is a real dataset that predicts forest cover type from cartographic variables. There are 580K objects, each with 54 attributes (10 integer,44 binary). We use 10 integer attributes in the experiments. Expanded Forest FCoverType Παραγωγή νέων (συνθετικών) αποτελεσμάτων για να μεγαλώσει το μέγεθος του συνόλου δεδομένων 1.we first compute the frequencies of values in each dimension, and sort values in the ascending order of their frequencies 2.for each object o in the original dataset, we create a new object ō, where in each dimension Di, ō[i] is ranked next to o[i] in the sorted list OpenStreetMap (OSM) this is a real map dataset containing the location and description of objects. We extract 10 million records from this dataset, where each record consists of 2 real values (longitude and latitude) and a description with variable length.

26 Πειραματικά αποτελέσματα [2/7] Μετρική: Distance computation selectivity (computation selectivity) pivot grouping RGE: random selection + geometric grouping FGE: farthest selection + geometric grouping KGE: k-means selection + geometric grouping RGR: random selection + greedy grouping FGR: farthest selection + greedy grouping KGR: k-means selection + greedy grouping

27 Πειραματικά αποτελέσματα [3/7] Farthest selection: outliers are always selected as pivots πχ. Με 2000 pivots το μέγιστο μέγεθος partition είναι , που είναι το 1/5 του συνολικού μεγέθους του dataset. Οπότε με πιο πολλά partitions & pivots το πρόβλημα αντιμετωπίζεται… Ωστόσο τα πολλά pivots σημαίνουν και ότι θα πρέπει να γίνουν πολλοί υπολογισμοί μεταξύ r και pivots, οπότε πρέπει να βρεθεί μια χρυσή τομή… FGE & FGR δεν έχουμε χρόνους γιατί λόγω της παρατήρησης αυτής οι εκτελέσεις αργούσανε πάρα πολύ

28 Πειραματικά αποτελέσματα [4/7]

29 Πειραματικά αποτελέσματα [5/7]

30 Πειραματικά αποτελέσματα [6/7]

31 Πειραματικά αποτελέσματα [7/7]

32 Ευχαριστώ για την προσοχή σας!


Κατέβασμα ppt "Efficient Processing of k Nearest Neighbor Joins using MapReduce Aristotle University of Thessaloniki Computer Science Department MSc. Advanced Data Indexing."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google