{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

lec2-mapred

# lec2-mapred - Distributed Computing Seminar Lecture 2...

This preview shows pages 1–10. Sign up to view the full content.

Distributed Computing Seminar Lecture 2: MapReduce Theory and Implementation Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet Summer 2007 Except as otherwise noted, the contents of this presentation are © Copyright 2007 University of Washington and licensed under the Creative Commons Attribution 2.5 License.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Outline Lisp/ML review functional programming map, fold MapReduce overview
Functional Programming Review Functional operations do not modify data structures: They always create new ones Original data still exists in unmodified form Data flows are implicit in program design Order of operations does not matter

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Functional Programming Review fun foo(l: int list) = sum(l) + mul(l) + length(l) Order of sum() and mul(), etc does not matter – they do not modify l
Functional Updates Do Not Modify Structures fun append(x, lst) = let lst' = reverse lst in reverse ( x :: lst' ) The append() function above reverses a list, adds a new element to the front, and returns all of that, reversed, which appends an item. But it never modifies lst !

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Functions Can Be Used As Arguments fun DoDouble(f, x) = f (f x) It does not matter what f does to its argument; DoDouble() will do it twice. What is the type of this function?
Map map f lst: (’a->’b) -> (’a list) -> (’b list) Creates a new list by applying f to each element of the input list; returns output in order. f f f f f f

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Fold fold f x 0 lst: ('a*'b->'b)->'b->('a list)->'b Moves across a list, applying f to each element plus an accumulator . f returns the next accumulator value, which is combined with the next element of the list f f f f f returned initial
fold left vs. fold right Order of list elements can be significant

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 31

lec2-mapred - Distributed Computing Seminar Lecture 2...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online