1 00:00:01,140 --> 00:00:03,900 Hi, my name is Andy and I'm a instructor 2 00:00:03,900 --> 00:00:06,861 at Udacity. I worked with Sara and Ian and 3 00:00:06,861 --> 00:00:10,790 Ngundega to help prepare this lesson and today I'm 4 00:00:10,790 --> 00:00:13,390 going to deliver it for you. So, let's get 5 00:00:13,390 --> 00:00:16,668 started. Up to this point you've familiarized yourself with 6 00:00:16,668 --> 00:00:19,450 MapReduce, you've written some mapper code, some reducer code. 7 00:00:20,860 --> 00:00:22,960 And you probably have a decent understanding of what's 8 00:00:22,960 --> 00:00:26,820 going on behind the scenes. But you might not 9 00:00:26,820 --> 00:00:29,590 yet know when to use MapReduce to solve a 10 00:00:29,590 --> 00:00:31,590 problem. And that's what we're going to try and get at 11 00:00:31,590 --> 00:00:34,040 in this lesson. We're going to give you a bunch of 12 00:00:34,040 --> 00:00:37,280 problems to solve and actually, each of these problems has 13 00:00:37,280 --> 00:00:41,170 been deliberately selected, because each of these problems actually 14 00:00:41,170 --> 00:00:44,970 represents some larger class of problems. In reality, the problems 15 00:00:44,970 --> 00:00:47,690 you're likely to run into on the job are going 16 00:00:47,690 --> 00:00:51,820 to fall into one of these certain classes of problems, 17 00:00:51,820 --> 00:00:54,030 which is very convenient because it means you 18 00:00:54,030 --> 00:00:57,560 can apply a sort of boiler plate solution, with 19 00:00:57,560 --> 00:01:02,720 some modifications. These boilerplate solutions we call design patterns, 20 00:01:02,720 --> 00:01:06,260 and they're really helpful. In this lesson we'll learn 21 00:01:06,260 --> 00:01:08,350 about some of these design patterns, and we'll 22 00:01:08,350 --> 00:01:12,070 practice using them on various problems. We're not going to 23 00:01:12,070 --> 00:01:14,300 get into the details of where the patterns came 24 00:01:14,300 --> 00:01:17,000 from, or why they look the way they do, 25 00:01:17,000 --> 00:01:18,830 but, at the very least, at the end of this 26 00:01:18,830 --> 00:01:22,360 lesson, you will have, well for one, you'll practice using these 27 00:01:22,360 --> 00:01:25,090 patterns and you also have a resource. That you can always 28 00:01:25,090 --> 00:01:28,460 come back to whenever you run into a problem that can 29 00:01:28,460 --> 00:01:31,380 be solved using one of these patterns. If this kind of 30 00:01:31,380 --> 00:01:33,980 stuff is really interesting to you, you should definitely check out 31 00:01:33,980 --> 00:01:38,500 a book called MapReduce Design Patterns. It's written by Donald Miner 32 00:01:38,500 --> 00:01:42,680 and Adam Shook and it's really interesting. Anyways, let's get started.