Map Reduce in Hazelcast - Hazelcast User Group London Version

Post on 19-Aug-2015

1.073 views 1 download

Tags:

Transcript of Map Reduce in Hazelcast - Hazelcast User Group London Version

BIG DATA - FAST DATAUSING MAPREDUCE IN HAZELCAST

Source:

www.hazelcast.com

Christoph Engelbert (@noctarius2k)8+ years of Java WeirdonessPerformance, GC, traffic topicsApache CommitterGaming, Travel Management, ...CastMapR MapReduce for Hazelcast 3

www.hazelcast.com

TOPICSHazelcastDistributed ComputingMap & ReduceDemonstrationQuestions

www.hazelcast.com

HAZELCASTPICKIN' DIAMONDS

www.hazelcast.com

WHAT IS HAZELCAST?In-Memory Data-GridData Partioning (Sharding)Java Collections ImplementationDistributed Computing Platform

www.hazelcast.com

WHY HAZELCAST?Automatic PartitioningFault ToleranceSync / Async BackupsFully DistributedIn-Memory for Highest Speed

www.hazelcast.com

WHY HAZELCAST?

www.hazelcast.com

WHY DISTRIBUTED COMPUTING?

www.hazelcast.com

WHY IN-MEMORYCOMPUTING?

www.hazelcast.com

TREND OF PRICES

Data Source:

www.hazelcast.com

SPEED DIFFERENCE

Data Source:

www.hazelcast.com

DISTRIBUTEDCOMPUTING

OR

MULTICORE CPU ON STEROIDS

www.hazelcast.com

THE IDEA OF DISTRIBUTED COMPUTING

Source:

www.hazelcast.com

THE BEGINNING

Source:

www.hazelcast.com

MULTICORE IS NOT NEW

Source:

www.hazelcast.com

CLUSTER IT

Source:

www.hazelcast.com

SUPER COMPUTER

Source:

www.hazelcast.com

CLOUD COMPUTING

Source:

www.hazelcast.com

MAP & REDUCETHE BLACK MAGIC FROM PLANET GOOGLE

www.hazelcast.com

USE CASESLog AnalysisData QueryingAggregationDistributed SortETL (Extract Transform Load)and more...

www.hazelcast.com

BASIC STEPSReadMap / TransformReduce

www.hazelcast.com

FULL STEPSReadMap / TransformCombineGroup / ShuffleReduceCollate

www.hazelcast.com

MAPREDUCE WORKFLOW

www.hazelcast.com

Data are mapped / transformed in a set of key-value pairs

SOME PSEUDO CODE (1/3)

MAPPING

map( key:String, document:String ):Void -> for each w:Word in document: emit( w, 1 )

www.hazelcast.com

Multiple values are combined to an intermediate result to preserve traffic

SOME PSEUDO CODE (2/3)

COMBINING

combine( word:Word, counts:List[Int] ):Void -> emit( word, sum( counts ) )

www.hazelcast.com

Values are reduced / aggregated to the requested result

SOME PSEUDO CODE (3/3)

REDUCING

reduce( word:String, counts:List[Int] ):Int -> return sum( counts )

www.hazelcast.com

FOR MATHEMATICIANSProcess: (K x V)* → (L x W)* ⇒ [(l1, w1), …, (lm, wm)]

Mapping: (K x V) → (L x W)* ⇒ (k, v) → [(l1, w1), …, (ln, wn)]

Reducing: L x W* → X* ⇒ (l, [w1, …, wn]) → [x1, …,xn]

www.hazelcast.com

MAPREDUCE PROGRAMS INGOOGLE SOURCE TREE

Source:

www.hazelcast.com

DEMONSTRATION

www.hazelcast.com

@noctarius2k@hazelcast

http://www.sourceprojects.comhttp://github.com/noctarius

THANK YOU!ANY QUESTIONS?

Images: All images are licensed under Creative Commons

www.hazelcast.com