Couchdoop: Connecting Hadoop with Couchbase (London HUG)

63

description

We needed a bridge between the real-time tier, where we used Couchbase, and the batch tier, built on Hadoop. When we couldn’t find a suitable option, we built our own: Couchdoop – an open-source Hadoop connector for Couchbase. Based on our experience with Couchdoop, we will discuss best practices in creating connectors for Hadoop and NoSQL DBs. We’ll address the challenges we encountered while developing Couchdoop and share how we tuned it for performance. Together with Bigstep, we will also show how much throughput that can be squeezed from a Hadoop connector. We have benchmarked Couchdoop for performance and we’ll talk about the behavior you can expect and tweaks that can improve the performance of your big data setup.

Transcript of Couchdoop: Connecting Hadoop with Couchbase (London HUG)

Page 1: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 2: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 3: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 4: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 5: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 6: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 7: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 8: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 9: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 10: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 11: Couchdoop: Connecting Hadoop with Couchbase (London HUG)

Two-tier Architecture

Real-time Tier (Couchbase)•Detects user intent•Gives next best recommendation or deal

Data Bridge (Couchdoop)

Batch Tier (Hadoop)•Recommends products

Use

r even

ts

Reco

mm

en

datio

ns

Page 12: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 13: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 14: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 15: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 16: Couchdoop: Connecting Hadoop with Couchbase (London HUG)

Importing Data{ “user”: “Rudy”, “action”: “view”, “product”: “Fender Guitar”}

{ “user”: “Rudy”, “action”: “click”, “product”: “Guitar Amplifier”} {

“user”: “Emma”, “action”: “buy”, “product”: “Blue Skirt”}

Couchdoop

Machine Learning RecommendationsHadoop

IMPORT

HDFS

Page 17: Couchdoop: Connecting Hadoop with Couchbase (London HUG)

{ “user”: “Rudy”, “recommendations”: [ [“Ibanez Acoustic Guitar”, 450], [“Guitar Tuner”, 120], [“Sound Mixer”, 30] ]}

EXPORT

Exporting Data

Couchdoop

Machine Learning RecommendationsHadoop

Page 18: Couchdoop: Connecting Hadoop with Couchbase (London HUG)

{ “user”: “Rudy”, “recommendations”: [ [“Ibanez Acoustic Guitar”, 450], [“Guitar Tuner”, 120], [“Sound Mixer”, 30] ]}

Update

Updating Data

Couchdoop

Machine Learning RecommendationsHadoop

Page 19: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 20: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 21: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 22: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 23: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 24: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 25: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 26: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 27: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 28: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 29: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 30: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 31: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 32: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 33: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 34: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 35: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 36: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 37: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 38: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 39: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 40: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 41: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 42: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 43: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 44: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 45: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 46: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 47: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 48: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 49: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 50: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 51: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 52: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 53: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 54: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 55: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 56: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 57: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 58: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 59: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 60: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 61: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 62: Couchdoop: Connecting Hadoop with Couchbase (London HUG)
Page 63: Couchdoop: Connecting Hadoop with Couchbase (London HUG)