Hadoop & Cheetah. Key words Cluster  data center – Lots of machines thousands Node  a server in a data center – Commodity device fails very easily Slot.

Slides:



Advertisements
Similar presentations
MAP REDUCE PROGRAMMING Dr G Sudha Sadasivam. Map - reduce sort/merge based distributed processing Best for batch- oriented processing Sort/merge is primitive.
Advertisements

MapReduce Simplified Data Processing on Large Clusters
MapReduce.
SDN + Storage.
Mapreduce and Hadoop Introduce Mapreduce and Hadoop
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
MapReduce Online Veli Hasanov Fatih University.
© Hortonworks Inc Daniel Dai Thejas Nair Page 1 Making Pig Fly Optimizing Data Processing on Hadoop.
EHarmony in Cloud Subtitle Brian Ko. eHarmony Online subscription-based matchmaking service Available in United States, Canada, Australia and United Kingdom.
Clydesdale: Structured Data Processing on MapReduce Jackie.
Hadoop: The Definitive Guide Chap. 2 MapReduce
CPS216: Advanced Database Systems (Data-intensive Computing Systems) How MapReduce Works (in Hadoop) Shivnath Babu.
MapReduce : Simplified Data Processing on Large Clusters Hongwei Wang & Sihuizi Jin & Yajing Zhang
Google Distributed System and Hadoop Lakshmi Thyagarajan.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
HADOOP ADMIN: Session -2
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
MapReduce. Web data sets can be very large – Tens to hundreds of terabytes Cannot mine on a single server Standard architecture emerging: – Cluster of.
Jeffrey D. Ullman Stanford University. 2 Chunking Replication Distribution on Racks.
SOFTWARE SYSTEMS DEVELOPMENT MAP-REDUCE, Hadoop, HBase.
Süleyman Fatih GİRİŞ CONTENT 1. Introduction 2. Programming Model 2.1 Example 2.2 More Examples 3. Implementation 3.1 ExecutionOverview 3.2.
Map Reduce for data-intensive computing (Some of the content is adapted from the original authors’ talk at OSDI 04)
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
Introduction to MapReduce ECE7610. The Age of Big-Data  Big-data age  Facebook collects 500 terabytes a day(2011)  Google collects 20000PB a day (2011)
MapReduce – An overview Medha Atre (May 7, 2008) Dept of Computer Science Rensselaer Polytechnic Institute.
MapReduce: Hadoop Implementation. Outline MapReduce overview Applications of MapReduce Hadoop overview.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Introduction to Hadoop and HDFS
f ACT s  Data intensive applications with Petabytes of data  Web pages billion web pages x 20KB = 400+ terabytes  One computer can read
Whirlwind Tour of Hadoop Edward Capriolo Rev 2. Whirlwind tour of Hadoop Inspired by Google's GFS Clusters from systems Batch Processing High.
MapReduce M/R slides adapted from those of Jeff Dean’s.
Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters Hung-chih Yang(Yahoo!), Ali Dasdan(Yahoo!), Ruey-Lung Hsiao(UCLA), D. Stott Parker(UCLA)
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
Grid Computing at Yahoo! Sameer Paranjpye Mahadev Konar Yahoo!
Database Applications (15-415) Part II- Hadoop Lecture 26, April 21, 2015 Mohammad Hammoud.
By Jeff Dean & Sanjay Ghemawat Google Inc. OSDI 2004 Presented by : Mohit Deopujari.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
C-Store: MapReduce Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY May. 22, 2009.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
MapReduce: Simplified Data Processing on Large Clusters By Dinesh Dharme.
MapReduce Joins Shalish.V.J. A Refresher on Joins A join is an operation that combines records from two or more data sets based on a field or set of fields,
Scalable data access with Impala Zbigniew Baranowski Maciej Grzybek Daniel Lanza Garcia Kacper Surdy.
Next Generation of Apache Hadoop MapReduce Owen
MapReduce: Simplied Data Processing on Large Clusters Written By: Jeffrey Dean and Sanjay Ghemawat Presented By: Manoher Shatha & Naveen Kumar Ratkal.
Lecture 3 – MapReduce: Implementation CSE 490h – Introduction to Distributed Computing, Spring 2009 Except as otherwise noted, the content of this presentation.
Big Data is a Big Deal!.
Software Systems Development
An Open Source Project Commonly Used for Processing Big Data Sets
Chapter 10 Data Analytics for IoT
Large-scale file systems and Map-Reduce
Hadoop MapReduce Framework
Software Engineering Introduction to Apache Hadoop Map Reduce
MapReduce Computing Paradigm Basics Fall 2013 Elke A. Rundensteiner
Ministry of Higher Education
MapReduce Simplied Data Processing on Large Clusters
The Basics of Apache Hadoop
湖南大学-信息科学与工程学院-计算机与科学系
February 26th – Map/Reduce
Cse 344 May 4th – Map/Reduce.
Overview of big data tools
Data processing with Hadoop
CS 345A Data Mining MapReduce This presentation has been altered.
MAPREDUCE TYPES, FORMATS AND FEATURES
5/7/2019 Map Reduce Map reduce.
COS 518: Distributed Systems Lecture 11 Mike Freedman
MapReduce: Simplified Data Processing on Large Clusters
Map Reduce, Types, Formats and Features
Presentation transcript:

Hadoop & Cheetah

Key words Cluster  data center – Lots of machines thousands Node  a server in a data center – Commodity device fails very easily Slot  a fraction of a server – Allows you to share a server among many jos Job  an application that the user wants to run – There are multiple of these in the data center Task/Worker  a fraction of a job – Allows you to achieve parallelism

Hadoop Exploit large amount of resources easily Manages and automates – Failure recovery – Scale of WSC Dealing with hardware idiosyncrasies – Resource Management/Sharing

Map-Reduce paradigm Master – Runs a scheduling algo to place tasks on a slot Scheduling allows for sharing – Runs failure detection and resolution algorithms – Monitors job progress and speeds up the job – Partitions user data into chunks – Determines the number of tasks (Maps and Reduce) Speed: more workers  faster, ideally more workers than machines for parallelism State: master tracks O(M*R) state and makes O(M+R) scheduling decisions Worker: runs reduce or map task

Map Input Output: a list of Takes a key-value pair does some preprocessing and creates another key-value pair. The output is segregated into N different files. – One for each reducers – The output is stored on local disk in temporary storage

Reduce Input: a pair Output: a pair Aggregates information from multiple mappers 3 stages: – Shuffle: transfer data from all map to reduce – Sort: sort the data that was transferred – Reduce: aggregate the data Output is stored: – In persistent storage.

Combine Ideally similar to reduce EXCEPT – run on the same node as the map – Run on only the data a mapper creates – Preliminary aggregation to reduce amount of data transferred

Example Task “hello world. Goodbye world. Hello hadoop goodbye hadoop”

Failure Recovery Worker failure – Detecting: keep-alive pings – Resolution: restart all task currently running For completed tasks: – If Map restart – If Reduce do nothing: output stored in external memory. Master failure – Periodically store master data structures – If master fails roll back to last stored structure.

Dealing with hardware Performance issues Locality – Place task on node where data is stored – Else try to place task close to data Straggler detection and mitigation – If a task is running really slow – Restart the task – 44% worse without this.

Resource Management/Sharing Cluster Scheduler Shares the resource – Decides which job should run when and where – Sharing algorithms FIFO: no real sharing Fair-scheduler: each user is given a number of tokens – The user’s job must get at least token number of slots Capacity Scheduler – Each job as a queue: task serviced in FIFO manner – Determine number of cluster slots to allocate to each queue

Problems How do determine an effective partition algorithm? Will hash always work? How do you determine the optimal # of reducers? What is optimal scheduling? Resource sharing algorithms.

Cheetah Relational data ware-houses – Highly optimized for storing and querying relational data. – Hard to scale to 100s,1000s of nodes MapReduce – Handles failures & scale to 1000s node – Lacks a declarative query inter-face Users have to write code to access the data May result in redundant code Requires a lot of effort & technical skills. How do you get the best of both worlds?

Main Challenges With Hadoop, it is hard to: – Perform SQL like joins Developers need to track: – Location of tables on disks (HDFS) Hard to get good performance out of vanila hadoop – Need to go through crafty coding to get good performance

Architecture Simple yet efficient Open:also provide a simple, non-SQL interface

Query MR Job Query is sent to the node that runs Query Driver Query Driver Query  MapReduce job Each node in the Hadoop cluster provides a data access primitive (DAP) interface

Performance Optimizations Data Storage & Compression MapReduce Job Configuration MultiQuery Optimization Exploiting Materialized Views LowLatency Query Optimization

Storage Format Text (in CSV format) – Simplest storage format & commonly used in web access logs. Serialized java object Row-based binary array – Commonly used in row-oriented database systems Columnar binary array  Storage format -huge impact on both compression ratio and query performance.  In Cheetah, we store data in columnar format whenever possible

Columnar Compression Compression type for each column set is dynamically determined based on data in each cell ETL phase- best compression method is chosen After one cell is created, it is further compressed using GZIP.

MapReduce Job Configuration # of map tasks - based on the # of input files & number of blocks per file. # of reduce tasks -supplied by the job itself & has a big impact on performance. query output – Small:map phase dominates total cost. – Large:it is mandatory to have sufficient number of reducers to partition the work. Heuristics – #of reducers is proportional to the number of group by columns in the query. – if the group by column includes some column with very large cardinality, we increase # of reducers as well.

MultiQuery Optimization In Cheetah allow users to simultaneously submit multiple queries & execute them in a single batch, as long as these queries have the same FROM and DATES clauses

Map Phase Shared scanner-shares the scan of the fact tables & joins to the dimension tables Scanner will attach a query ID to each output row Output from different aggregation operators will be merged into a single output stream.

Reduce Phase Split the input rows based on their query Ids Send them to the corresponding query operators.

Exploiting Materialized Views(1) Definition of Materialized Views – Each materialized view only includes the columns in the face table, i.e., excludes those on the dimension tables. – It is partitioned by date Both columns referred in the query reside on the fact table, Impressions Resulting virtual view has two types of columns - group by columns & aggregate columns.

Exploiting Materialized Views(2) View Matching and Query Rewriting – To make use of materialized view Refer virtual view that corresponds to same fact table that materialized view is defined upon. Non-aggregate columns referred in the SELECT and WHERE clauses in the query must be a subset of the materialized view’s group by columns Aggregate columns must be computable from the materialized view’s aggregate columns.

Replace the virtual view in the query with the matching materialized view

LowLatency Query Optimization Current Hadoop implementation has some non- trivial overhead itself – Ex:job start time,JVM start time Problem :For small queries, this becomes a significant extra overhead. – In query translation phase: if size of the input file is small it may choose to directly read the file from HDFS and then process the query locally.

Questions