Python MapReduce Programming with Pydoop
|
|
|
- Cassandra Todd
- 10 years ago
- Views:
Transcription
1 Distributed Computing CRS4 EuroPython 2011
2 Acknowledgments Part of the MapReduce tutorial is based upon: J. Zhao, J. Pjesivac-Grbovic, MapReduce: The programming model and practice, SIGMETRICS 09 Tutorial, The Free Lunch is Over is a well-known article by Herb Sutter, available online at Pygments rules!
3 Intro: 1. The Free Lunch is Over CPU clock speed reached saturation around 2004 Multi-core architectures Everyone must go parallel Moore s law reinterpreted number of cores per chip doubles every 2 y clock speed remains fixed or decreases must rethink the design of our software
4 MapReduce and Hadoop Intro: 2. The Data Deluge sciencematters.berkeley.edu satellites scienceblogs.com high-energy physics data-intensive applications 1 high-throughput sequencer: several TB/week Hadoop to the rescue! upload.wikimedia.org DNA sequencing social networks
5 Intro: 3. Python and Hadoop Hadoop: a DC framework for data-intensive applications Open source Java implementation of Google s MapReduce and GFS Pydoop: API for writing Hadoop programs in Python Comparison with other solutions Performance
6 Outline 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
7 Outline The MapReduce Programming Model Hadoop: Open Source MapReduce 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
8 Outline The MapReduce Programming Model Hadoop: Open Source MapReduce 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
9 What is MapReduce? The MapReduce Programming Model Hadoop: Open Source MapReduce A programming model for large-scale distributed data processing Inspired by map and reduce in functional programming Map: map a set of input key/value pairs to a set of intermediate key/value pairs Reduce: apply a function to all values associated to the same intermediate key; emit output key/value pairs An implementation of a system to execute such programs Fault-tolerant (as long as the master stays alive) Hides internals from users Scales very well with dataset size
10 The MapReduce Programming Model Hadoop: Open Source MapReduce MapReduce s Hello World: Wordcount the quick brown fox ate the lazy green fox Mapper Mapper Mapper Map the, 1 fox, 1 quick, 1 ate, 1 brown, 1 fox, 1 the, 1 lazy, 1 green, 1 Shuffle & Sort Reducer Reducer Reduce quick, 1 brown, 1 fox, 2 ate, 1 the, 2 lazy, 1 green, 1
11 Wordcount: Pseudocode The MapReduce Programming Model Hadoop: Open Source MapReduce map(string key, String value): // key: does not matter in this case // value: a subset of input words for each word w in value: Emit(w, "1"); reduce(string key, Iterator values): // key: a word // values: all values associated to key int wordcount = 0; for each v in values: wordcount += ParseInt(v); Emit(key, AsString(wordcount));
12 The MapReduce Programming Model Hadoop: Open Source MapReduce Mock Implementation mockmr.py from itertools import groupby from operator import itemgetter def _pick_last(it): for t in it: yield t[-1] def mapreduce(data, mapf, redf): buf = [] for line in data.splitlines(): for ik, iv in mapf("foo", line): buf.append((ik, iv)) buf.sort() for ik, values in groupby(buf, itemgetter(0)): for ok, ov in redf(ik, _pick_last(values)): print ok, ov
13 The MapReduce Programming Model Hadoop: Open Source MapReduce Mock Implementation mockwc.py from mockmr import mapreduce DATA = """the quick brown fox ate the lazy green fox """ def map_(k, v): for w in v.split(): yield w, 1 def reduce_(k, values): yield k, sum(v for v in values) if name == " main ": mapreduce(data, map_, reduce_)
14 MapReduce: Execution Model The MapReduce Programming Model Hadoop: Open Source MapReduce User Program (1) fork (1) fork Master (1) fork (2) assign map (2) assign reduce split 0 split 1 split 2 split 3 split 4 (3) read Mapper Mapper Mapper (4) local write (5) remote read Reducer Reducer (6) write Input (DFS) Intermediate files (on local disks) Output (DFS) adapted from Zhao et al., MapReduce: The programming model and practice, 2009 see acknowledgments
15 MapReduce vs Alternatives 1 The MapReduce Programming Model Hadoop: Open Source MapReduce Programming model Declarative Procedural MapReduce MPI DBMS/SQL Flat raw files Data organization Structured adapted from Zhao et al., MapReduce: The programming model and practice, 2009 see acknowledgments
16 MapReduce vs Alternatives 2 The MapReduce Programming Model Hadoop: Open Source MapReduce MPI MapReduce DBMS/SQL programming model message passing map/reduce declarative data organization no assumption files split into blocks organized structures data type any (k,v) string/protobuf tables with rich types execution model independent nodes map/shuffle/reduce transaction communication high low high granularity fine coarse fine usability steep learning curve simple concept runtime: hard to debug key selling point run any application huge datasets interactive querying There is no one-size-fits-all solution Choose according to your problem s characteristics adapted from Zhao et al., MapReduce: The programming model and practice, 2009 see acknowledgments
17 The MapReduce Programming Model Hadoop: Open Source MapReduce MapReduce Implementations / Similar Frameworks Google MapReduce (C++, Java, Python) Based on proprietary infrastructures (MapReduce, GFS,... ) and some open source libraries Hadoop (Java) Open source, top-level Apache project GFS HDFS Used by Yahoo, Facebook, ebay, Amazon, Twitter... DryadLINQ (C# + LINQ) Not MR, DAG model: vertices=programs, edges=channels Proprietary (Microsoft); academic release available The small ones Starfish (Ruby), Octopy (Python), Disco (Python + Erlang)
18 Outline The MapReduce Programming Model Hadoop: Open Source MapReduce 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
19 Hadoop: Overview The MapReduce Programming Model Hadoop: Open Source MapReduce Scalable Thousands of nodes Petabytes of data over 10M files Single file: Gigabytes to Terabytes Economical Open source COTS Hardware (but master nodes should be reliable) Well-suited to bag-of-tasks applications (many bio apps) Files are split into blocks and distributed across nodes High-throughput access to huge datasets WORM storage model
20 Hadoop: The MapReduce Programming Model Hadoop: Open Source MapReduce Client Job Request HDFS Master MR Master Namenode Job Tracker Datanode Datanode Datanode HDFS Slaves Task Tracker Task Tracker Task Tracker MR Slaves Client sends Job request to Job Tracker Job Tracker queries Namenode about physical data block locations Input stream is split among the desired number of map tasks Map tasks are scheduled closest to where data reside
21 The MapReduce Programming Model Hadoop: Open Source MapReduce Hadoop Distributed File System (HDFS) file name "a" a3 Client read data block IDs, datanodes a1 Datanode 1 Datanode 3 a3 a1 a1 a2 Namenode Secondary Namenode namespace checkpointing helps namenode with logs not a namenode replacement Datanode 5 Datanode 2 Datanode 4 Datanode 6 a3 a2 a2 Each block is replicated n times (3 by default) One replica on the same rack, the others on different racks You have to provide network topology Rack 1 Rack 2 Rack 3
22 Wordcount: (part of) Java Code The MapReduce Programming Model Hadoop: Open Source MapReduce public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(object key, Text value, Context context ) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasmoretokens()) {word.set(itr.nexttoken()); context.write(word, one);} }} public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> { private IntWritable result = new IntWritable(); public void reduce(text key, Iterable<IntWritable> values, Context context ) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) {sum += val.get();} result.set(sum); context.write(key, result); }}
23 The MapReduce Programming Model Hadoop: Open Source MapReduce Other Optional MapReduce Components Combiner (local Reducer) RecordReader Translates the byte-oriented view of input files into the record-oriented view required by the Mapper Directly accesses HDFS files Processing unit: InputSplit (filename, offset, length) Partitioner Decides which Reducer receives which key Typically uses a hash function of the key RecordWriter Writes key/value pairs output by the Reducer Directly accesses HDFS files
24 Outline 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
25 Hadoop on your Laptop in 10 Minutes Download from Unpack to /opt, then set a few vars: export HADOOP_HOME=/opt/hadoop export PATH=$HADOOP_HOME/bin:${PATH} Setup passphraseless ssh: ssh-keygen -t dsa -P -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys in $HADOOP_HOME/conf/hadoop-env.sh, set JAVA_HOME to the appropriate value for your machine
26 Additional Tweaking Use as Non-Root Assumption: user is in the user group # mkdir /var/tmp/hdfs /var/log/hadoop # chown :users /var/tmp/hdfs /var/log/hadoop # chmod 770 /var/tmp/hdfs /var/log/hadoop Edit $HADOOP_HOME/conf/hadoop-env.sh: export HADOOP_LOG_DIR=/var/log/hadoop Edit $HADOOP_HOME/conf/hdfs-site.xml: <property> <name>dfs.name.dir</name> <value>/var/tmp/hdfs/nn</value> </property> <property> <name>dfs.data.dir</name> <value>/var/tmp/hdfs/data</value> </property>
27 Additional Tweaking MapReduce Edit $HADOOP_HOME/conf/mapred-site.xml: <property> <name>mapred.system.dir</name> <value>/var/tmp/hdfs/system</value> </property> <property> <name>mapred.local.dir</name> <value>/var/tmp/hdfs/tmp</value> </property> <property> <name>mapred.tasktracker.map.tasks.maximum</name> <value>2</value> </property> <property> <name>mapred.tasktracker.reduce.tasks.maximum</name> <value>2</value> </property> <property> <name>mapred.child.java.opts</name> <value>-xmx512m</value> </property>
28 Start your Pseudo-Cluster Namenode format is required only on first use hadoop namenode -format start-all.sh firefox & firefox & localhost:50070: HDFS web interface localhost:50030: MapReduce web interface
29 Web Interface HDFS
30 Web Interface MapReduce
31 Run the Java Word Count Example Wait until HDFS is ready for work hadoop dfsadmin -safemode wait Copy input data to HDFS wget hadoop fs -put pg11.txt alice.txt Run Word Count hadoop jar $HADOOP_HOME/*examples*.jar wordcount alice.txt output Copy output back to local fs hadoop fs -get output{,} sort -rn -k2 output/part-r head -n 3 the 1664 and 780 to 773 ls output/_logs/history localhost_ _job_ _0001_conf.xml localhost_ _job_ _0001_simleo_word+count
32 Cool! I Want to Develop my own MR Application! The easiest path for beginners is Hadoop Streaming Java package included in Hadoop Use any executable as the mapper or reducer Read key-value pairs from standard input Write them to standard output Text protocol: records are serialized as k\tv\n : hadoop jar \ $HADOOP_HOME/contrib/streaming/*streaming*.jar \ -input myinputdirs \ -output myoutputdir \ -mapper my_mapper \ -reducer my_reducer \ -file my_mapper \ -file my_reducer \ -jobconf mapred.map.tasks=2 \ -jobconf mapred.reduce.tasks=2
33 WC with Streaming and Python Scripts Mapper #!/usr/bin/env python import sys for line in sys.stdin: for word in line.split(): print "%s\t1" % word
34 WC with Streaming and Python Scripts Reducer #!/usr/bin/env python import sys def serialize(key, value): return "%s\t%d" % (key, value) def deserialize(line): key, value = line.split("\t", 1) return key, int(value) def main(): prev_key, out_value = None, 0 for line in sys.stdin: key, value = deserialize(line) if key!= prev_key: if prev_key is not None: print serialize(prev_key, out_value) out_value = 0 prev_key = key out_value += value print serialize(key, out_value) if name == " main ": main()
35 Outline 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
36 Outline 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
37 MapReduce Development with Hadoop Java: native C/C++: APIs for both MR and HDFS are supported by Hadoop Pipes and included in the Hadoop distribution Python: several solutions, but do they meet all of the requirements of nontrivial apps? Reuse existing modules, including C/C++ extensions NumPy / SciPy for numerical computation Specialized components (RecordReader/Writer, Partitioner) HDFS access
38 Python MR: Hadoop-Integrated Solutions Hadoop Streaming awkward programming style can only write mapper and reducer scripts (no RecordReader, etc.) no HDFS can only process text data streams (lifted in 0.21+) Jython incomplete standard library most third-party packages are only compatible with CPython cannot use C/C++ extensions typically one or more releases behind CPython
39 Python MR: Third Party Solutions Hadoopy Dumbo Hadoop Streaming Disco Happy Jython Octopy Last update: Aug 2009 Last update: Apr 2008 Hadoop-based Non-Hadoop MR Hadoop-based: same limitations as Streaming/Jython, except for ease of use Other implementations: not as mature/widespread
40 Python MR: Our Solution Pydoop Access to most MR components, including RecordReader, RecordWriter and Partitioner Get configuration, set counters and report status Programming model similar to the Java one: you define classes, the MapReduce framework instantiates them and calls their methods CPython use any module HDFS API
41 Summary of Features Streaming Jython Pydoop C/C++ Ext Yes No Yes Standard Lib Full Partial Full MR API No * Full Partial Java-like FW No Yes Yes HDFS No Yes Yes (*) you can only write the map and reduce parts as executable scripts.
42 Outline 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
43 Hadoop Pipes Java Hadoop Framework PipesMapRunner downward protocol record reader mapper combiner child process upward protocol partitioner C++ Application PipesReducer downward protocol reducer upward protocol record writer child process App: separate process Communication with Java framework via persistent sockets The C++ app provides a factory used by the framework to create MR components
44 Integration of Pydoop with the C/C++ API mapred/pipes virtual method C++ pipes invocation _pipes ext module Hadoop Java Framework boost.python object Pure Python Modules hdfs C libhdfs (JNI wrapper) function User Application call boost.python object _hdfs ext module Integration with Pipes (C++): Method calls flow from the framework through the C++ and the Pydoop API, ultimately reaching user-defined methods Results are wrapped by Boost and returned to the framework Integration with libhdfs (C): Function calls initiated by Pydoop Results wrapped and returned as Python objects to the app
45 Outline 1 MapReduce and Hadoop The MapReduce Programming Model Hadoop: Open Source MapReduce 2 3
46 Python Wordcount, Full Program Code #!/usr/bin/env python import pydoop.pipes as pp class Mapper(pp.Mapper): def map(self, context): words = context.getinputvalue().split() for w in words: context.emit(w, "1") class Reducer(pp.Reducer): def reduce(self, context): s = 0 while context.nextvalue(): s += int(context.getinputvalue()) context.emit(context.getinputkey(), str(s)) if name == " main ": pp.runtask(pp.factory(mapper, Reducer))
47 Status Reports and Counters class Mapper(pp.Mapper): def init (self, context): super(mapper, self). init (context) context.setstatus("initializing") self.inputwords = context.getcounter("wordcount", "INPUT_WORDS") def map(self, context): words = context.getinputvalue().split() for w in words: context.emit(w, "1") context.incrementcounter(self.inputwords, len(words))
48 Status Reports and Counters: Web UI
49 Optional Components: Record Reader import struct, pydoop.hdfs as hdfs class Reader(pp.RecordReader): def init (self, context): super(reader, self). init (context) self.isplit = pp.inputsplit(context.getinputsplit()) self.file = hdfs.open(self.isplit.filename) self.file.seek(self.isplit.offset) self.bytes_read = 0 if self.isplit.offset > 0: discarded = self.file.readline() # read by prev. split reader self.bytes_read += len(discarded) def next(self): # return: (have_a_record, key, value) if self.bytes_read > self.isplit.length: # end of input split return (False, "", "") key = struct.pack(">q", self.isplit.offset+self.bytes_read) value = self.file.readline() if value == "": # end of file return (False, "", "") self.bytes_read += len(value) return (True, key, value) def getprogress(self): return min(float(self.bytes_read)/self.isplit.length, 1.0)
50 Optional Components: Record Writer, Partitioner import pydoop.utils as pu class Writer(pp.RecordWriter): def init (self, context): super(writer, self). init (context) jc = context.getjobconf() pu.jc_configure_int(self, jc, "mapred.task.partition", "part") pu.jc_configure(self, jc, "mapred.work.output.dir", "outdir") pu.jc_configure(self, jc, "mapred.textoutputformat.separator", "sep", "\t") self.outfn = "%s/part-%05d" % (self.outdir, self.part) self.file = hdfs.open(self.outfn, "w") def emit(self, key, value): self.file.write("%s%s%s\n" % (key, self.sep, value)) class Partitioner(pp.Partitioner): def partition(self, key, numofreduces): return (hash(key) & sys.maxint) % numofreduces
51 The HDFS Module >>> import pydoop.hdfs as hdfs >>> f = hdfs.open( alice.txt ) >>> f.fs.host localhost >>> f.fs.port 9000 >>> f.name hdfs://localhost:9000/user/simleo/alice.txt >>> print f.read(50) Project Gutenberg s Alice s Adventures in Wonderla >>> print f.readline() nd, by Lewis Carroll >>> f.close()
52 HDFS by Block Size import collections, pydoop.hdfs as hdfs def treewalker(fs, root_info): yield root_info if root_info["kind"] == "directory": for info in fs.list_directory(root_info["name"]): for item in treewalker(fs, info): yield item def usage_by_bs(fs, root): usage = collections.counter() root_info = fs.get_path_info(root) for info in treewalker(fs, root_info): if info["kind"] == "file": usage[info["block_size"]] += info["size"] return usage def main(): fs = hdfs.hdfs("default", 0) root = "%s/%s" % (fs.working_directory(), "tree_test") for bs, tot_size in usage_by_bs(fs, root).iteritems(): print "%.1f\t%d" % (bs/float(2**20), tot_size) fs.close()
53 Comparison: vs Jython and Text-Only Streaming completion time (s) without combiner with combiner java c++ pydoop jython streaming 48 nodes, GHz dual core Opterons, 4 GB RAM App: Wordcount on 20 GB of random English text Dataset: uniform sampling from a spell checker list Java/C++ included for reference
54 Comparison: vs Dumbo (Binary Streaming) completion time (s) without combiner with combiner java pydoop dumbo 24 nodes, GHz dual core Opterons, 4 GB RAM App: Wordcount on 20 GB of random English text Dataset: uniform sampling from a spell checker list Java included for reference
55 Pydoop at CRS4 Core: computational biology applications for analyzing data generated by our Sequencing and Genotyping Platform the vast majority of the code is written in Python biodoop-seal.sourceforge.net Short Read Alignment > 4 TB / week Bio Suite Genotype Calling 7K individuals in < 1d Flow Cytometry dev
56 Summary MapReduce is a big deal :) Strengths: large datasets, scalability, ease of use Weaknesses: overhead, lower raw performance MapReduce vs more traditional models MR: low communication, coarse-grained, data-intensive Threads/MPI: high communication, fine-grained, CPU-intensive As with any set of tools, choose according to your problem Solid open source implementation available (Hadoop) Full-fledged Python/HDFS API available (Pydoop)
57 Appendix For Further Reading For Further Reading I H. Sutter, The Free Lunch is Over: a Fundamental Turn Toward Concurrency in Software Dr. Dobb s Journal 30(3), J. Dean and S. Ghemawat, MapReduce: Simplified Data Processing on Large Clusters in OSDI 2004: Sixth Symposium on Operating System Design and Implementation,
58 Appendix For Further Reading For Further Reading II S. Leo and G. Zanetti, In Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing (HPDC 2010), pages , S. Leo, F. Santoni, and G. Zanetti, Biodoop: Bioinformatics on Hadoop In The 38th International Conference on Parallel Processing Workshops (ICPPW 2009), pages , 2009.
Pydoop: a Python MapReduce and HDFS API for Hadoop
Pydoop: a Python MapReduce and HDFS API for Hadoop Simone Leo CRS4 Pula, CA, Italy [email protected] Gianluigi Zanetti CRS4 Pula, CA, Italy [email protected] ABSTRACT MapReduce has become increasingly
Tutorial- Counting Words in File(s) using MapReduce
Tutorial- Counting Words in File(s) using MapReduce 1 Overview This document serves as a tutorial to setup and run a simple application in Hadoop MapReduce framework. A job in Hadoop MapReduce usually
Extreme Computing. Hadoop MapReduce in more detail. www.inf.ed.ac.uk
Extreme Computing Hadoop MapReduce in more detail How will I actually learn Hadoop? This class session Hadoop: The Definitive Guide RTFM There is a lot of material out there There is also a lot of useless
Big Data 2012 Hadoop Tutorial
Big Data 2012 Hadoop Tutorial Oct 19th, 2012 Martin Kaufmann Systems Group, ETH Zürich 1 Contact Exercise Session Friday 14.15 to 15.00 CHN D 46 Your Assistant Martin Kaufmann Office: CAB E 77.2 E-Mail:
Introduction to MapReduce and Hadoop
Introduction to MapReduce and Hadoop Jie Tao Karlsruhe Institute of Technology [email protected] Die Kooperation von Why Map/Reduce? Massive data Can not be stored on a single machine Takes too long to process
Hadoop Lab Notes. Nicola Tonellotto November 15, 2010
Hadoop Lab Notes Nicola Tonellotto November 15, 2010 2 Contents 1 Hadoop Setup 4 1.1 Prerequisites........................................... 4 1.2 Installation............................................
Mrs: MapReduce for Scientific Computing in Python
Mrs: for Scientific Computing in Python Andrew McNabb, Jeff Lund, and Kevin Seppi Brigham Young University November 16, 2012 Large scale problems require parallel processing Communication in parallel processing
Getting to know Apache Hadoop
Getting to know Apache Hadoop Oana Denisa Balalau Télécom ParisTech October 13, 2015 1 / 32 Table of Contents 1 Apache Hadoop 2 The Hadoop Distributed File System(HDFS) 3 Application management in the
Processing of massive data: MapReduce. 2. Hadoop. New Trends In Distributed Systems MSc Software and Systems
Processing of massive data: MapReduce 2. Hadoop 1 MapReduce Implementations Google were the first that applied MapReduce for big data analysis Their idea was introduced in their seminal paper MapReduce:
Comparative analysis of mapreduce job by keeping data constant and varying cluster size technique
Comparative analysis of mapreduce job by keeping data constant and varying cluster size technique Mahesh Maurya a, Sunita Mahajan b * a Research Scholar, JJT University, MPSTME, Mumbai, India,[email protected]
MapReduce, Hadoop and Amazon AWS
MapReduce, Hadoop and Amazon AWS Yasser Ganjisaffar http://www.ics.uci.edu/~yganjisa February 2011 What is Hadoop? A software framework that supports data-intensive distributed applications. It enables
Hadoop at Yahoo! Owen O Malley Yahoo!, Grid Team [email protected]
Hadoop at Yahoo! Owen O Malley Yahoo!, Grid Team [email protected] Who Am I? Yahoo! Architect on Hadoop Map/Reduce Design, review, and implement features in Hadoop Working on Hadoop full time since Feb
Hadoop/MapReduce. Object-oriented framework presentation CSCI 5448 Casey McTaggart
Hadoop/MapReduce Object-oriented framework presentation CSCI 5448 Casey McTaggart What is Apache Hadoop? Large scale, open source software framework Yahoo! has been the largest contributor to date Dedicated
Big Data and Apache Hadoop s MapReduce
Big Data and Apache Hadoop s MapReduce Michael Hahsler Computer Science and Engineering Southern Methodist University January 23, 2012 Michael Hahsler (SMU/CSE) Hadoop/MapReduce January 23, 2012 1 / 23
Hadoop. Dawid Weiss. Institute of Computing Science Poznań University of Technology
Hadoop Dawid Weiss Institute of Computing Science Poznań University of Technology 2008 Hadoop Programming Summary About Config 1 Open Source Map-Reduce: Hadoop About Cluster Configuration 2 Programming
Advanced Data Management Technologies
ADMT 2015/16 Unit 15 J. Gamper 1/53 Advanced Data Management Technologies Unit 15 MapReduce J. Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Acknowledgements: Much of the information
How To Use Hadoop
Hadoop in Action Justin Quan March 15, 2011 Poll What s to come Overview of Hadoop for the uninitiated How does Hadoop work? How do I use Hadoop? How do I get started? Final Thoughts Key Take Aways Hadoop
and HDFS for Big Data Applications Serge Blazhievsky Nice Systems
Introduction PRESENTATION to Hadoop, TITLE GOES MapReduce HERE and HDFS for Big Data Applications Serge Blazhievsky Nice Systems SNIA Legal Notice The material contained in this tutorial is copyrighted
Hadoop and ecosystem * 本 文 中 的 言 论 仅 代 表 作 者 个 人 观 点 * 本 文 中 的 一 些 图 例 来 自 于 互 联 网. Information Management. Information Management IBM CDL Lab
IBM CDL Lab Hadoop and ecosystem * 本 文 中 的 言 论 仅 代 表 作 者 个 人 观 点 * 本 文 中 的 一 些 图 例 来 自 于 互 联 网 Information Management 2012 IBM Corporation Agenda Hadoop 技 术 Hadoop 概 述 Hadoop 1.x Hadoop 2.x Hadoop 生 态
BIG DATA APPLICATIONS
BIG DATA ANALYTICS USING HADOOP AND SPARK ON HATHI Boyu Zhang Research Computing ITaP BIG DATA APPLICATIONS Big data has become one of the most important aspects in scientific computing and business analytics
Jeffrey D. Ullman slides. MapReduce for data intensive computing
Jeffrey D. Ullman slides MapReduce for data intensive computing Single-node architecture CPU Machine Learning, Statistics Memory Classical Data Mining Disk Commodity Clusters Web data sets can be very
Prepared By : Manoj Kumar Joshi & Vikas Sawhney
Prepared By : Manoj Kumar Joshi & Vikas Sawhney General Agenda Introduction to Hadoop Architecture Acknowledgement Thanks to all the authors who left their selfexplanatory images on the internet. Thanks
University of Maryland. Tuesday, February 2, 2010
Data-Intensive Information Processing Applications Session #2 Hadoop: Nuts and Bolts Jimmy Lin University of Maryland Tuesday, February 2, 2010 This work is licensed under a Creative Commons Attribution-Noncommercial-Share
Hadoop Framework. technology basics for data scientists. Spring - 2014. Jordi Torres, UPC - BSC www.jorditorres.eu @JordiTorresBCN
Hadoop Framework technology basics for data scientists Spring - 2014 Jordi Torres, UPC - BSC www.jorditorres.eu @JordiTorresBCN Warning! Slides are only for presenta8on guide We will discuss+debate addi8onal
CSE-E5430 Scalable Cloud Computing Lecture 2
CSE-E5430 Scalable Cloud Computing Lecture 2 Keijo Heljanko Department of Computer Science School of Science Aalto University [email protected] 14.9-2015 1/36 Google MapReduce A scalable batch processing
Hadoop IST 734 SS CHUNG
Hadoop IST 734 SS CHUNG Introduction What is Big Data?? Bulk Amount Unstructured Lots of Applications which need to handle huge amount of data (in terms of 500+ TB per day) If a regular machine need to
http://www.wordle.net/
Hadoop & MapReduce http://www.wordle.net/ http://www.wordle.net/ Hadoop is an open-source software framework (or platform) for Reliable + Scalable + Distributed Storage/Computational unit Failures completely
Open source software framework designed for storage and processing of large scale data on clusters of commodity hardware
Open source software framework designed for storage and processing of large scale data on clusters of commodity hardware Created by Doug Cutting and Mike Carafella in 2005. Cutting named the program after
Tutorial: Big Data Algorithms and Applications Under Hadoop KUNPENG ZHANG SIDDHARTHA BHATTACHARYYA
Tutorial: Big Data Algorithms and Applications Under Hadoop KUNPENG ZHANG SIDDHARTHA BHATTACHARYYA http://kzhang6.people.uic.edu/tutorial/amcis2014.html August 7, 2014 Schedule I. Introduction to big data
Introduc)on to the MapReduce Paradigm and Apache Hadoop. Sriram Krishnan [email protected]
Introduc)on to the MapReduce Paradigm and Apache Hadoop Sriram Krishnan [email protected] Programming Model The computa)on takes a set of input key/ value pairs, and Produces a set of output key/value pairs.
The Hadoop Framework
The Hadoop Framework Nils Braden University of Applied Sciences Gießen-Friedberg Wiesenstraße 14 35390 Gießen [email protected] Abstract. The Hadoop Framework offers an approach to large-scale
Chapter 7. Using Hadoop Cluster and MapReduce
Chapter 7 Using Hadoop Cluster and MapReduce Modeling and Prototyping of RMS for QoS Oriented Grid Page 152 7. Using Hadoop Cluster and MapReduce for Big Data Problems The size of the databases used in
Big Data Management and NoSQL Databases
NDBI040 Big Data Management and NoSQL Databases Lecture 3. Apache Hadoop Doc. RNDr. Irena Holubova, Ph.D. [email protected] http://www.ksi.mff.cuni.cz/~holubova/ndbi040/ Apache Hadoop Open-source
Big Data for the JVM developer. Costin Leau, Elasticsearch @costinl
Big Data for the JVM developer Costin Leau, Elasticsearch @costinl Agenda Data Trends Data Pipelines JVM and Big Data Tool Eco-system Data Landscape Data Trends http://www.emc.com/leadership/programs/digital-universe.htm
Big Data Analytics* Outline. Issues. Big Data
Outline Big Data Analytics* Big Data Data Analytics: Challenges and Issues Misconceptions Big Data Infrastructure Scalable Distributed Computing: Hadoop Programming in Hadoop: MapReduce Paradigm Example
Apache Hadoop. Alexandru Costan
1 Apache Hadoop Alexandru Costan Big Data Landscape No one-size-fits-all solution: SQL, NoSQL, MapReduce, No standard, except Hadoop 2 Outline What is Hadoop? Who uses it? Architecture HDFS MapReduce Open
GraySort and MinuteSort at Yahoo on Hadoop 0.23
GraySort and at Yahoo on Hadoop.23 Thomas Graves Yahoo! May, 213 The Apache Hadoop[1] software library is an open source framework that allows for the distributed processing of large data sets across clusters
Parallel Programming Map-Reduce. Needless to Say, We Need Machine Learning for Big Data
Case Study 2: Document Retrieval Parallel Programming Map-Reduce Machine Learning/Statistics for Big Data CSE599C1/STAT592, University of Washington Carlos Guestrin January 31 st, 2013 Carlos Guestrin
Open source Google-style large scale data analysis with Hadoop
Open source Google-style large scale data analysis with Hadoop Ioannis Konstantinou Email: [email protected] Web: http://www.cslab.ntua.gr/~ikons Computing Systems Laboratory School of Electrical
Introduction to Hadoop
Introduction to Hadoop 1 What is Hadoop? the big data revolution extracting value from data cloud computing 2 Understanding MapReduce the word count problem more examples MCS 572 Lecture 24 Introduction
MAPREDUCE Programming Model
CS 2510 COMPUTER OPERATING SYSTEMS Cloud Computing MAPREDUCE Dr. Taieb Znati Computer Science Department University of Pittsburgh MAPREDUCE Programming Model Scaling Data Intensive Application MapReduce
Intro to Map/Reduce a.k.a. Hadoop
Intro to Map/Reduce a.k.a. Hadoop Based on: Mining of Massive Datasets by Ra jaraman and Ullman, Cambridge University Press, 2011 Data Mining for the masses by North, Global Text Project, 2012 Slides by
How To Write A Map Reduce In Hadoop Hadooper 2.5.2.2 (Ahemos)
Processing Data with Map Reduce Allahbaksh Mohammedali Asadullah Infosys Labs, Infosys Technologies 1 Content Map Function Reduce Function Why Hadoop HDFS Map Reduce Hadoop Some Questions 2 What is Map
Hadoop Streaming. Table of contents
Table of contents 1 Hadoop Streaming...3 2 How Streaming Works... 3 3 Streaming Command Options...4 3.1 Specifying a Java Class as the Mapper/Reducer... 5 3.2 Packaging Files With Job Submissions... 5
Hadoop and Eclipse. Eclipse Hawaii User s Group May 26th, 2009. Seth Ladd http://sethladd.com
Hadoop and Eclipse Eclipse Hawaii User s Group May 26th, 2009 Seth Ladd http://sethladd.com Goal YOU can use the same technologies as The Big Boys Google Yahoo (2000 nodes) Last.FM AOL Facebook (2.5 petabytes
Hadoop Streaming. 2012 coreservlets.com and Dima May. 2012 coreservlets.com and Dima May
2012 coreservlets.com and Dima May Hadoop Streaming Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses (onsite
DATA MINING WITH HADOOP AND HIVE Introduction to Architecture
DATA MINING WITH HADOOP AND HIVE Introduction to Architecture Dr. Wlodek Zadrozny (Most slides come from Prof. Akella s class in 2014) 2015-2025. Reproduction or usage prohibited without permission of
A very short Intro to Hadoop
4 Overview A very short Intro to Hadoop photo by: exfordy, flickr 5 How to Crunch a Petabyte? Lots of disks, spinning all the time Redundancy, since disks die Lots of CPU cores, working all the time Retry,
Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases. Lecture 14
Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases Lecture 14 Big Data Management IV: Big-data Infrastructures (Background, IO, From NFS to HFDS) Chapter 14-15: Abideboul
Take An Internal Look at Hadoop. Hairong Kuang Grid Team, Yahoo! Inc [email protected]
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc [email protected] What s Hadoop Framework for running applications on large clusters of commodity hardware Scale: petabytes of data
Lambda Architecture. CSCI 5828: Foundations of Software Engineering Lecture 29 12/09/2014
Lambda Architecture CSCI 5828: Foundations of Software Engineering Lecture 29 12/09/2014 1 Goals Cover the material in Chapter 8 of the Concurrency Textbook The Lambda Architecture Batch Layer MapReduce
Sriram Krishnan, Ph.D. [email protected]
Sriram Krishnan, Ph.D. [email protected] (Re-)Introduction to cloud computing Introduction to the MapReduce and Hadoop Distributed File System Programming model Examples of MapReduce Where/how to run MapReduce
Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms
Distributed File System 1 How do we get data to the workers? NAS Compute Nodes SAN 2 Distributed File System Don t move data to workers move workers to the data! Store data on the local disks of nodes
Hadoop MapReduce Tutorial - Reduce Comp variability in Data Stamps
Distributed Recommenders Fall 2010 Distributed Recommenders Distributed Approaches are needed when: Dataset does not fit into memory Need for processing exceeds what can be provided with a sequential algorithm
Data-Intensive Computing with Map-Reduce and Hadoop
Data-Intensive Computing with Map-Reduce and Hadoop Shamil Humbetov Department of Computer Engineering Qafqaz University Baku, Azerbaijan [email protected] Abstract Every day, we create 2.5 quintillion
MapReduce. Tushar B. Kute, http://tusharkute.com
MapReduce Tushar B. Kute, http://tusharkute.com What is MapReduce? MapReduce is a framework using which we can write applications to process huge amounts of data, in parallel, on large clusters of commodity
Parallel Processing of cluster by Map Reduce
Parallel Processing of cluster by Map Reduce Abstract Madhavi Vaidya, Department of Computer Science Vivekanand College, Chembur, Mumbai [email protected] MapReduce is a parallel programming model
THE HADOOP DISTRIBUTED FILE SYSTEM
THE HADOOP DISTRIBUTED FILE SYSTEM Konstantin Shvachko, Hairong Kuang, Sanjay Radia, Robert Chansler Presented by Alexander Pokluda October 7, 2013 Outline Motivation and Overview of Hadoop Architecture,
Weekly Report. Hadoop Introduction. submitted By Anurag Sharma. Department of Computer Science and Engineering. Indian Institute of Technology Bombay
Weekly Report Hadoop Introduction submitted By Anurag Sharma Department of Computer Science and Engineering Indian Institute of Technology Bombay Chapter 1 What is Hadoop? Apache Hadoop (High-availability
INTRODUCTION TO HADOOP
Hadoop INTRODUCTION TO HADOOP Distributed Systems + Middleware: Hadoop 2 Data We live in a digital world that produces data at an impressive speed As of 2012, 2.7 ZB of data exist (1 ZB = 10 21 Bytes)
A bit about Hadoop. Luca Pireddu. March 9, 2012. CRS4Distributed Computing Group. [email protected] (CRS4) Luca Pireddu March 9, 2012 1 / 18
A bit about Hadoop Luca Pireddu CRS4Distributed Computing Group March 9, 2012 [email protected] (CRS4) Luca Pireddu March 9, 2012 1 / 18 Often seen problems Often seen problems Low parallelism I/O is
Single Node Setup. Table of contents
Table of contents 1 Purpose... 2 2 Prerequisites...2 2.1 Supported Platforms...2 2.2 Required Software... 2 2.3 Installing Software...2 3 Download...2 4 Prepare to Start the Hadoop Cluster... 3 5 Standalone
Introduction to Hadoop HDFS and Ecosystems. Slides credits: Cloudera Academic Partners Program & Prof. De Liu, MSBA 6330 Harvesting Big Data
Introduction to Hadoop HDFS and Ecosystems ANSHUL MITTAL Slides credits: Cloudera Academic Partners Program & Prof. De Liu, MSBA 6330 Harvesting Big Data Topics The goal of this presentation is to give
Data Analytics. CloudSuite1.0 Benchmark Suite Copyright (c) 2011, Parallel Systems Architecture Lab, EPFL. All rights reserved.
Data Analytics CloudSuite1.0 Benchmark Suite Copyright (c) 2011, Parallel Systems Architecture Lab, EPFL All rights reserved. The data analytics benchmark relies on using the Hadoop MapReduce framework
Hadoop: A Framework for Data- Intensive Distributed Computing. CS561-Spring 2012 WPI, Mohamed Y. Eltabakh
1 Hadoop: A Framework for Data- Intensive Distributed Computing CS561-Spring 2012 WPI, Mohamed Y. Eltabakh 2 What is Hadoop? Hadoop is a software framework for distributed processing of large datasets
Hadoop Distributed File System. T-111.5550 Seminar On Multimedia 2009-11-11 Eero Kurkela
Hadoop Distributed File System T-111.5550 Seminar On Multimedia 2009-11-11 Eero Kurkela Agenda Introduction Flesh and bones of HDFS Architecture Accessing data Data replication strategy Fault tolerance
NoSQL and Hadoop Technologies On Oracle Cloud
NoSQL and Hadoop Technologies On Oracle Cloud Vatika Sharma 1, Meenu Dave 2 1 M.Tech. Scholar, Department of CSE, Jagan Nath University, Jaipur, India 2 Assistant Professor, Department of CSE, Jagan Nath
Big Data With Hadoop
With Saurabh Singh [email protected] The Ohio State University February 11, 2016 Overview 1 2 3 Requirements Ecosystem Resilient Distributed Datasets (RDDs) Example Code vs Mapreduce 4 5 Source: [Tutorials
The Hadoop Eco System Shanghai Data Science Meetup
The Hadoop Eco System Shanghai Data Science Meetup Karthik Rajasethupathy, Christian Kuka 03.11.2015 @Agora Space Overview What is this talk about? Giving an overview of the Hadoop Ecosystem and related
HDFS. Hadoop Distributed File System
HDFS Kevin Swingler Hadoop Distributed File System File system designed to store VERY large files Streaming data access Running across clusters of commodity hardware Resilient to node failure 1 Large files
CSE 590: Special Topics Course ( Supercomputing ) Lecture 10 ( MapReduce& Hadoop)
CSE 590: Special Topics Course ( Supercomputing ) Lecture 10 ( MapReduce& Hadoop) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 2016 MapReduce MapReduce is a programming model
Internals of Hadoop Application Framework and Distributed File System
International Journal of Scientific and Research Publications, Volume 5, Issue 7, July 2015 1 Internals of Hadoop Application Framework and Distributed File System Saminath.V, Sangeetha.M.S Abstract- Hadoop
MapReduce (in the cloud)
MapReduce (in the cloud) How to painlessly process terabytes of data by Irina Gordei MapReduce Presentation Outline What is MapReduce? Example How it works MapReduce in the cloud Conclusion Demo Motivation:
Yuji Shirasaki (JVO NAOJ)
Yuji Shirasaki (JVO NAOJ) A big table : 20 billions of photometric data from various survey SDSS, TWOMASS, USNO-b1.0,GSC2.3,Rosat, UKIDSS, SDS(Subaru Deep Survey), VVDS (VLT), GDDS (Gemini), RXTE, GOODS,
Distributed Filesystems
Distributed Filesystems Amir H. Payberah Swedish Institute of Computer Science [email protected] April 8, 2014 Amir H. Payberah (SICS) Distributed Filesystems April 8, 2014 1 / 32 What is Filesystem? Controls
Data Science in the Wild
Data Science in the Wild Lecture 3 Some slides are taken from J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org 1 Data Science and Big Data Big Data: the data cannot
Introduc)on to Map- Reduce. Vincent Leroy
Introduc)on to Map- Reduce Vincent Leroy Sources Apache Hadoop Yahoo! Developer Network Hortonworks Cloudera Prac)cal Problem Solving with Hadoop and Pig Slides will be available at hgp://lig- membres.imag.fr/leroyv/
Data-intensive computing systems
Data-intensive computing systems Hadoop Universtity of Verona Computer Science Department Damiano Carra Acknowledgements! Credits Part of the course material is based on slides provided by the following
MASSIVE DATA PROCESSING (THE GOOGLE WAY ) 27/04/2015. Fundamentals of Distributed Systems. Inside Google circa 2015
7/04/05 Fundamentals of Distributed Systems CC5- PROCESAMIENTO MASIVO DE DATOS OTOÑO 05 Lecture 4: DFS & MapReduce I Aidan Hogan [email protected] Inside Google circa 997/98 MASSIVE DATA PROCESSING (THE
What We Can Do in the Cloud (2) -Tutorial for Cloud Computing Course- Mikael Fernandus Simalango WISE Research Lab Ajou University, South Korea
What We Can Do in the Cloud (2) -Tutorial for Cloud Computing Course- Mikael Fernandus Simalango WISE Research Lab Ajou University, South Korea Overview Riding Google App Engine Taming Hadoop Summary Riding
Recognization of Satellite Images of Large Scale Data Based On Map- Reduce Framework
Recognization of Satellite Images of Large Scale Data Based On Map- Reduce Framework Vidya Dhondiba Jadhav, Harshada Jayant Nazirkar, Sneha Manik Idekar Dept. of Information Technology, JSPM s BSIOTR (W),
TP1: Getting Started with Hadoop
TP1: Getting Started with Hadoop Alexandru Costan MapReduce has emerged as a leading programming model for data-intensive computing. It was originally proposed by Google to simplify development of web
Big Data Storage, Management and challenges. Ahmed Ali-Eldin
Big Data Storage, Management and challenges Ahmed Ali-Eldin (Ambitious) Plan What is Big Data? And Why talk about Big Data? How to store Big Data? BigTables (Google) Dynamo (Amazon) How to process Big
Hadoop implementation of MapReduce computational model. Ján Vaňo
Hadoop implementation of MapReduce computational model Ján Vaňo What is MapReduce? A computational model published in a paper by Google in 2004 Based on distributed computation Complements Google s distributed
Introduction to Hadoop
1 What is Hadoop? Introduction to Hadoop We are living in an era where large volumes of data are available and the problem is to extract meaning from the data avalanche. The goal of the software tools
CS54100: Database Systems
CS54100: Database Systems Cloud Databases: The Next Post- Relational World 18 April 2012 Prof. Chris Clifton Beyond RDBMS The Relational Model is too limiting! Simple data model doesn t capture semantics
CS380 Final Project Evaluating the Scalability of Hadoop in a Real and Virtual Environment
CS380 Final Project Evaluating the Scalability of Hadoop in a Real and Virtual Environment James Devine December 15, 2008 Abstract Mapreduce has been a very successful computational technique that has
Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases. Lecture 15
Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases Lecture 15 Big Data Management V (Big-data Analytics / Map-Reduce) Chapter 16 and 19: Abideboul et. Al. Demetris
Fault Tolerance in Hadoop for Work Migration
1 Fault Tolerance in Hadoop for Work Migration Shivaraman Janakiraman Indiana University Bloomington ABSTRACT Hadoop is a framework that runs applications on large clusters which are built on numerous
USING HDFS ON DISCOVERY CLUSTER TWO EXAMPLES - test1 and test2
USING HDFS ON DISCOVERY CLUSTER TWO EXAMPLES - test1 and test2 (Using HDFS on Discovery Cluster for Discovery Cluster Users email [email protected] if you have questions or need more clarifications. Nilay
t] open source Hadoop Beginner's Guide ij$ data avalanche Garry Turkington Learn how to crunch big data to extract meaning from
Hadoop Beginner's Guide Learn how to crunch big data to extract meaning from data avalanche Garry Turkington [ PUBLISHING t] open source I I community experience distilled ftu\ ij$ BIRMINGHAMMUMBAI ')
Hadoop Architecture. Part 1
Hadoop Architecture Part 1 Node, Rack and Cluster: A node is simply a computer, typically non-enterprise, commodity hardware for nodes that contain data. Consider we have Node 1.Then we can add more nodes,
PLATFORM AND SOFTWARE AS A SERVICE THE MAPREDUCE PROGRAMMING MODEL AND IMPLEMENTATIONS
PLATFORM AND SOFTWARE AS A SERVICE THE MAPREDUCE PROGRAMMING MODEL AND IMPLEMENTATIONS By HAI JIN, SHADI IBRAHIM, LI QI, HAIJUN CAO, SONG WU and XUANHUA SHI Prepared by: Dr. Faramarz Safi Islamic Azad
MapReduce and Hadoop Distributed File System
MapReduce and Hadoop Distributed File System 1 B. RAMAMURTHY Contact: Dr. Bina Ramamurthy CSE Department University at Buffalo (SUNY) [email protected] http://www.cse.buffalo.edu/faculty/bina Partially
Hadoop Distributed File System. Dhruba Borthakur Apache Hadoop Project Management Committee [email protected] [email protected]
Hadoop Distributed File System Dhruba Borthakur Apache Hadoop Project Management Committee [email protected] [email protected] Hadoop, Why? Need to process huge datasets on large clusters of computers
