Daniel Sikar: Hadoop MapReduce - 06/09/2010

2,454 views

Published on

In this podcast speaker Daniel Sikar talks about Hadoop MapReduce.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,454
On SlideShare
0
From Embeds
0
Number of Embeds
153
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • So without further ado lets get this show on the road and run a job concurrently on a few virtual machines.
  • Daniel Sikar: Hadoop MapReduce - 06/09/2010

    1. 1. QUICK AND DIRTY PARALLEL PROCESSING ON THE CLOUD Daniel Sikar
    2. 2. EC2 S3
    3. 4. Tools <ul><li>AWS Command line tools
    4. 5. Elastic MapReduce Ruby library
    5. 6. Hadoop
    6. 7. s3cmd </li></ul>
    7. 8. Hadoop MapReduce Job Tracker + Task Tracker + Slaves HDFS – Distributed file system
    8. 9. Hadoop MapReduce usage Data crunching in general Clicks Statistics etc
    9. 10. Hadoop Project Mgmt Committee
    10. 11. MapReduce ?
    11. 12. MapReduce Key Pairs <key,value>
    12. 13. MapReduce
    13. 14. HTTP Logs Log file A: (...) FreeTouchScreenNokia5230 (...) (...) GetRidofAllSpeedCameras(...) (...) USManWinsLottery (...) (...) BNPToLaunchElectionManifesto (...) Log file B: (...) FreeTouchScreenNokia5230 (...) (...) BodyLanguageTellsAll (...)
    14. 15. MapReduce <FreeTouchScreenNokia5230, 1> + <FreeTouchScreenNokia5230, 1> = <FreeTouchScreenNokia5230, 2>
    15. 16. Hadoop Streaming Running MapReduce jobs with .exe fiels and scripts $ <list> | mapper | reducer
    16. 17. Hadoop Streaming Running MapReduce jobs with .exe fiels and scripts $ <list> | mapper | reducer
    17. 18. Real life example of Hadoop Streaming usage
    18. 19. Wikipedia Page Access Logs
    19. 20. Wine Grape Varieties
    20. 21. Wikipedia WGV Page Access Stats
    21. 22. Business Decisions
    22. 23. Launching a virtual Hadoop Cluster $ elastic-mapreduce --create --name &quot;Wiki log crunch&quot; --alive --num-instances –instance-type c1.medium 20 Created job flow <job flow id> $ ec2din (...)
    23. 25. Hadoop <ul><li>Standalone Operation
    24. 26. Pseudo-Distributed Operation
    25. 27. Fully-Distributed Operation
    26. 28. NameNode
    27. 29. JobTracker
    28. 30. DataNode + TaskTracker </li></ul>
    29. 31. Hadoop <ul><li>Standalone Operation
    30. 32. Pseudo-Distributed Operation
    31. 33. Fully-Distributed Operation
    32. 34. NameNode
    33. 35. JobTracker
    34. 36. DataNode + TaskTracker </li></ul>
    35. 37. Add a step $ elastic-mapreduce --jobflow <jfid> --stream --step-name &quot;Wiki log crunch&quot; --input s3n://dsikar-wikilogs-2009/dec/ --output s3n://dsikar-wikilogs-output/21 --mapper s3n://dsikar-wiki-scripts/wikidictionarymap.pl --reducer s3n://dsikar-wiki-scripts/wikireduce.pl http://<instance public dns>:9100
    36. 38. s3cmd # make bucket $ s3cmd mb s3://dsikar-wikilogs # put log files $ s3cmd put pagecounts-200912*.gz s3://dsikar-wikilogs/dec $ s3cmd put pagecounts-201004*.gz s3://dsikar-wikilogs/apr # list log files $ s3cmd ls s3://dsikar-wikilogs/ # put scripts $ s3cmd put *.pl s3://dsikar-wiki-scripts/ # delete log files $ s3cmd del --recursive --force s3://dsikar-wikilogs/ # remove bucket $ s3cmd rb s3://dsikar-wikilogs/
    37. 39. Elastic MapReduce --create --list --jobflow --describe --stream --terminate
    38. 40. Output files part-00000 part-00001 part-00002 (...)
    39. 41. Further aggregation
    40. 42. Conclusion Hadoop MapReduce provides out-of-the-box ready-to-go distributed computing.

    ×