1 / 30

Efficient Parallel Set-Similarity Joins Using Hadoop

Efficient Parallel Set-Similarity Joins Using Hadoop. Chen Li. Joint work with Michael Carey and Rares Vernica. Motivation: Data Cleaning. Find movies starring Tom Hanks. Movies starring S..warz…ne…ger?. Similarity Search. Find movies with a star “ similar to ” Schwarrzenger.

ormand
Download Presentation

Efficient Parallel Set-Similarity Joins Using Hadoop

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Efficient Parallel Set-Similarity Joins Using Hadoop Chen Li Joint work with Michael Carey and RaresVernica

  2. Motivation: Data Cleaning Find movies starring Tom Hanks

  3. Movies starring S..warz…ne…ger?

  4. Similarity Search Find movies with a star “similar to” Schwarrzenger.

  5. Record linkage Table R Table S

  6. Two-step solution Step 1: Similarity Join Table R Table S Step 2: Verification

  7. Focus of this talk • Similarity join for large data sets • Techniques applicable to other domains, e.g.: • Finding similar documents • Finding customers with similar patterns

  8. Talk Outline • Formulation: set-similarity join • Hadoop-based solutions • Experiments More results: see SIGMOD2010 paper

  9. Set-Similarity Join Finding pairs of records with a similarity on their join attributes > t

  10. Why this formulation? • Word tokens: • Gram tokens: “Samuel L. Jackson”  {Samuel, L., Jackson} “Samuel Jackson”  {Samuel, Jackson} S c h w a r z e n e g g e r

  11. Set-similarity functions • Jaccard • Dice • Cosine • Hamming • … • All solvable in this framework

  12. Talk Outline • Formulation of set-similarity join • Hadoop-based solutions • Experiments

  13. Why Hadoop? • Large amounts of data • Data or processing does not fit in one machine • Assumptions: • Self join: R = S • Two similar sets share at least 1 token

  14. A naïve solution • Map: <23, (a,b,c)>  (a, 23), (b, 23), (c, 23) • Too much data to transfer  • Too many pairs to verify . • Reduce:(a,23),(a,29),(a,50), … Verify each pair

  15. Solving frequency skew: prefix filtering • Prefixes of similar sets should share tokens • Sort tokens by frequency (ascending) • Prefix of a set: least frequent tokens r1 Sorted by frequency r2 prefix Chaudhuri, Ganti, Kaushik: A Primitive Operator for Similarity Joins in Data Cleaning. ICDE 2006: 5

  16. Prefix filtering: example • Each set has 5 tokens • “Similar”: they share at least 4 tokens • Prefix length: 2 Record 1 Record 2

  17. Hadoop Solution: Overview • Stage 1: Order tokens by frequency • Stage 2: Finding “similar” id pairs • Stage 3: id pairs  record paris

  18. Stage 1: Sort tokens by frequency Compute token frequencies Sort them MapReduce phase 2 MapReduce phase 1

  19. Stage 2: Find “similar” id pairs Partition using prefixes Verify similarity

  20. Stage 3: id pairs  record pairs (phase 1) Bring records for each id in each pair

  21. Stage 3: id pairs  record pairs (phase 2) Join two half filled records

  22. Talk Outline • Formulation of set-similarity join • Hadoop-based solutions • Experiments

  23. Experimental Setting • Hardware • 10-node IBM x3650 cluster • Intel Xeon processor E5520 2.26GHz with four cores • Four 300GB hard disks • 12GB RAM • Software • Ubuntu 9.06, 64-bit, server edition OS • Java 1.6, 64-bit, server • Hadoop 0.20.1 • Datasets: publications (DBLP and CITESEERX)

  24. Running time Stage 2 Stage 1 Stage 3

  25. Speedup

  26. Speedup Breakdown Stage 2 has good speedup

  27. Scaleup Good scaleup

  28. Additional results • Other methods for the 3 stages • Case: R <> S • Dealing with limited memory

  29. Summary • Set-similarity joins in Hadoop: • Three-stage approach using Hadoop • Experimental study

  30. Thank you Chen Li @ UC Irvine Source code available at: http://asterix.ics.uci.edu/fuzzyjoin-mapreduce/ Acknowledgements: NSF, Google, IBM.

More Related