Top Banner
BUMPER
131

Bd class 2 complete

Nov 04, 2014

Download

Education

BigData Class 2
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bd class 2 complete

BUMPER

Page 2: Bd class 2 complete
Page 3: Bd class 2 complete

Topic 1

HDFS – Hands On (Part – 1)

Class 2 – Hadoop Distributed File System

Page 4: Bd class 2 complete

AGENDA

• What is Big Data?• Hadoop Distributed File System• MapReduce• Understanding Hadoop Ecosystem• Setting up a Hadoop Cluster• HDFS – Hands On• MapReduce-Hands On

Page 5: Bd class 2 complete

Pre-requisites

HDFS – Hands On

Virtual Machine is up and running.

Connected to your Virtual Machine using putty as ‘hduser’.

Page 6: Bd class 2 complete

Command Syntax

HDFS – Hands On

hadoop fs –ls / (To list directory contents)

Page 7: Bd class 2 complete

Command Syntax

HDFS – Hands On

hadoop fs –ls / (To list directory contents)

hadoop fs -<command> <args>

Page 8: Bd class 2 complete

Command Syntax

HDFS – Hands On

hadoop fs –ls / (To list directory contents)

hadoop fs -<command> <args>

hadoop: This is the binary executable.

Page 9: Bd class 2 complete

Command Syntax

HDFS – Hands On

hadoop fs –ls / (To list directory contents)

hadoop fs -<command> <args>

hadoop: This is the binary executable.

fs: Invokes the Hadoop file system, which is the HDFS.

Page 10: Bd class 2 complete

Command Syntax

HDFS – Hands On

hadoop fs –ls / (To list directory contents)

hadoop fs -<command> <args>

hadoop: This is the binary executable.

fs: Invokes the Hadoop file system, which is the HDFS.

<command>: Indicates what is the purpose of the statement and always preceded by a ‘-‘.

Page 11: Bd class 2 complete

Command Syntax

HDFS – Hands On

hadoop fs –ls / (To list directory contents)

hadoop fs -<command> <args>

hadoop: This is the binary executable.

fs: Invokes the Hadoop file system, which is the HDFS.

<command>: Indicates what is the purpose of the statement and always preceded by a ‘-‘.

<args>: Indicates the arguments that are applicable for the command.

Page 12: Bd class 2 complete

Where do DataNodes store data?HDFS – Hands On

Page 13: Bd class 2 complete

Where do DataNodes store data?HDFS – Hands On

hadoop.tmp.dir = /tmp/hadoop

Page 14: Bd class 2 complete

Where do DataNodes store data?HDFS – Hands On

hadoop.tmp.dir = /tmp/hadoop dfs.data.dir = ($hadoop.tmp.dir)/dfs/data

Page 15: Bd class 2 complete

Where do DataNodes store data?HDFS – Hands On

hadoop.tmp.dir = /tmp/hadoop dfs.data.dir = ($hadoop.tmp.dir)/dfs/data = /tmp/hadoop/dfs/data

Page 16: Bd class 2 complete

Where do DataNodes store data?HDFS – Hands On

hadoop.tmp.dir = /tmp/hadoop dfs.data.dir = ($hadoop.tmp.dir)/dfs/data = /tmp/hadoop/dfs/data

VERSION >> Java properties fileblk_********* >> Raw data of a fileblk_******.meta >> Metadata of the blockHow come there is a block when we have not loaded any file?

Page 17: Bd class 2 complete

jobtracker.infoHDFS – Hands On

Page 18: Bd class 2 complete

fsckHDFS – Hands On

Generates a summary report that lists the overall health of the filesystem.

Page 19: Bd class 2 complete

fsckHDFS – Hands On

Total size: Indicates the size of the directory (root directory in our case). Does not account for replication.

Total dirs: Indicates the number of directories in HDFS

Total files: Indicates the number of files in HDFS

Total blocks: Indicates the number of blocks

Default replication factor:Average replication factor:Corrupt blocks:Missing replicas: Number of data nodes:Number of racks:

Page 20: Bd class 2 complete

Edit .bashrc

HDFS – Hands On

Navigate to the home directory.

cd

List hidden files.

ls -a

Edit the .bashrc file.

vi .bashrc

Update HADOOP paths using ‘export’ command.

export HADOOP_CONF=/home/hduser/hadoop/confexport HADOOP_PREFIX=/home/hduser/hadoop

# Add Hadoop bin/ directory to path

export PATH=$PATH:$HADOOP_PREFIX/bin

Execute the updated contents of the .bashrc file.

source ~/.bashrc

Page 21: Bd class 2 complete

copyFromLocalHDFS – Hands On

Copies file from local file system to HDFS.

hadoop fs –copyFromLocal <Path to source file on Local File System> <Target path in HDFS>

hadoop fs –copyFromLocal NOTICE.txt noticehdfs.txt

Page 22: Bd class 2 complete

copyFromLocalHDFS – Hands On

copyFromLocal commands internally results in:

a file getting split into multiple blocks.

the client contacting the NameNode to find out where each block should be copied in the cluster.

replication of blocks to nodes assigned by NameNode.

Page 23: Bd class 2 complete

How many blocks were created?HDFS – Hands On

Page 24: Bd class 2 complete

RECAP

HDFS Commonly used commandsHDFS Concepts

Page 25: Bd class 2 complete

BUMPER

Page 26: Bd class 2 complete

BUMPER

Page 27: Bd class 2 complete
Page 28: Bd class 2 complete

Topic 2

HDFS – Hands On (Part – 2)

Class 2 – Hadoop Distributed File System

Page 29: Bd class 2 complete

AGENDA

• What is Big Data?• Hadoop Distributed File System• MapReduce• Understanding Hadoop Ecosystem• Setting up a Hadoop Cluster• HDFS – Hands On• MapReduce-Hands On

Page 30: Bd class 2 complete

Load a file larger than the block sizeHDFS – Hands On

Load a 200 MB file and see how many blocks were created.

Command to generate a 200 MB dummy file.dd if=/dev/zero of=file.txt count=1024 bs=204800

hadoop fs –copyFromLocal file.txt file.txtcd /tmp/hadoop/dfs/data/currentls –lrt

Page 31: Bd class 2 complete

Load a file larger than the block sizeHDFS – Hands On

Block 1 = 64 MB

Block 2 = 64 MB

Block 3 = 8 MB

Block 4 = 64 MB

Page 32: Bd class 2 complete

fsckHDFS – Hands On

fsck after loading 2 additional files.

Total size has increased.Total dirs: 7. Additions - /user and /user/hduser directories.Total files: 3. Additions - 2 newly loaded files.Total blocks: 6. Additions - 1 block of the 1st file and 4 blocks of the 2nd file.

Page 33: Bd class 2 complete

catHDFS – Hands On

Displays contents of file on the command prompt.

hadoop fs –cat <Path of file in HDFS>

hadoop fs –cat noticehdfs.txt

Page 34: Bd class 2 complete

copyToLocalHDFS – Hands On

Copies file from HDFS to local file system.

hadoop fs –copyToLocal <Path of file in HDFS> <Path of file in Local File System>

hadoop fs –copyToLocal noticehdfs.txt noticelocal.txt

Page 35: Bd class 2 complete

mkdirHDFS – Hands On

Creates a directory inside HDFS.HDFS paths are relative.

Creates directory in current user’s home directoryhadoop fs –mkdir newdir

Creates new directory under roothadoop fs –mkdir /newdir

Page 36: Bd class 2 complete

rmHDFS – Hands On

Removes file (s).

hadoop fs –rm <File Name>

Removes file and empty directories.hadoop fs –rm noticehdfs.txt

Page 37: Bd class 2 complete

Trash featureHDFS – Hands On

Prevents accidental deletion of files and directories.Disabled by default.To enable, configure the fs.trash.interval property in core-site.xml file.

Page 38: Bd class 2 complete

RECAP

HDFS Commonly used commandsHDFS Concepts

Page 39: Bd class 2 complete

BUMPER

Page 40: Bd class 2 complete

BUMPER

Page 41: Bd class 2 complete
Page 42: Bd class 2 complete

Topic 3

HDFS – Web UI

Class 2 – Hadoop Distributed File System

Page 43: Bd class 2 complete

AGENDA

• What is Big Data?• Hadoop Distributed File System• MapReduce• Understanding Hadoop Ecosystem• Setting up a Hadoop Cluster• HDFS – Hands On• MapReduce-Hands On

Page 44: Bd class 2 complete

NameNode Web Interface

HDFS – Hands On

HDFS Web Interface URL.

http://<namenode_host>:50070/

From the Virtual Machine:

http://localhost:50070/

From outside the Virtual Machine:http://<IP Address of VM or Hostname of VM>:50070/Example- http://192.168.234.135:50070/

Page 45: Bd class 2 complete

NameNode Web Interface

HDFS – Hands On

Server Name and Port

Last start time of the NameNode

Hadoop Version, followed by subversion source code repository

To browse the files in HDFS View NameNode log files

Number of files, directories and blocks. Heap memory utilized/available.

Storage capacity of machines in the clusterHow much space utilized in HDFSSpace utilized by O/S, Applications etc.Amount of space available on HDFS

How many blocks have replicas less than Replication Factor

Nodes that are active and in contact with NameNodeNodes that are NOT in contact with NameNodeNodes administratively removed from the cluster

Page 46: Bd class 2 complete

RECAP

HDFS Web UI

Page 47: Bd class 2 complete

BUMPER

Page 48: Bd class 2 complete

BUMPER

Page 49: Bd class 2 complete
Page 50: Bd class 2 complete

Topic 4

Class 2 – Hadoop Distributed File System

MapReduce – Hands On (Part – 1)

Page 51: Bd class 2 complete

AGENDA

• What is Big Data?• Hadoop Distributed File System• MapReduce• Understanding Hadoop Ecosystem• Setting up a Hadoop Cluster• HDFS – Hands On• MapReduce-Hands On

Page 52: Bd class 2 complete

How does MapReduce work?

MapReduce

Page 53: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Reduce Input List

Reduce Output List

Mapping Phase

Reducing Phase

Page 54: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Reduce Input List

Reduce Output List

Mapping Phase

Reducing Phase

Page 55: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Mapper

Reduce Input List

Reduce Output List

Mapping Phase

Reducing Phase

Page 56: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Mapper

Reduce Input List

Reduce Output List

Mapping Phase

Reducing Phase

Page 57: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Mapper

Reduce Input List

Reduce Output List

Mapping Phase

Reducing Phase

Page 58: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Mapper

Reduce Input List

Reduce Output List

Mapping Phase

Reducing Phase

Page 59: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Mapper

Reduce Input List

Reduce Output List

Reducer

Mapping Phase

Reducing Phase

Page 60: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Mapper

Reduce Input List

Reduce Output List

Reducer

Mapping Phase

Reducing Phase

Page 61: Bd class 2 complete

How does MapReduce work?

MapReduce

Map Input List

Map Output List

Mapper

Reduce Input List

Reduce Output List

Reducer

Mapping Phase

Reducing Phase

Page 62: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 63: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 64: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 65: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 66: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 67: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 68: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 69: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 70: Bd class 2 complete

Hadoop MapReduce

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 71: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Page 72: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Page 73: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Page 74: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Page 75: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Page 76: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

Page 77: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

Page 78: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

Page 79: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

Page 80: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

Page 81: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

User Defined Logic

Page 82: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

User Defined Logic

Page 83: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

User Defined Logic Specify Path &

Output format

Page 84: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

User Defined Logic Specify Path &

Output format

Page 85: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

User Defined Logic Specify Path &

Output format

Replication, Rack Awareness etc.

Page 86: Bd class 2 complete

Hadoop MapReduce – Roles: User vs. Framework

MapReduce

<1, King Queen King>

<King, 1><Queen, 1><King, 1>

<2, Minister King Soldier>

<3, Queen Soldier King>

<Minister, 1><King, 1><Soldier, 1>

<Queen, 1><Soldier, 1><King, 1>

<King, 1><King, 1><King, 1><King, 1>

<Minister, 1>

<Queen, 1><Queen, 1>

<Soldier,1><Soldier,1>

<King, (1,1,1,1)><Minister, 1>

<Queen, (1,1)><Soldier, (1,1)>

<King, 4><Minister, 1>

King Queen King

Minister King Soldier

Queen Soldier King

Input SplittingMap Shuffling Reduce Result

<Queen, 2><Soldier, 2>

Map Output

Load data into HDFS

Specify Path & Input Format

Create ‘Input Splits’

Create individual Records

User Defined Logic

User Defined Logic Specify Path &

Output format

Replication, Rack Awareness etc.

Page 87: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Page 88: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Mapper Process

Page 89: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Page 90: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper ProcessDriver

Page 91: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txt

Driver

Page 92: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Page 93: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

InputFormat

Page 94: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Input Split 1

InputFormat

Page 95: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Page 96: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Calculates

Page 97: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Calculates

Page 98: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Calculates

Page 99: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Record Reader

Calculates

Page 100: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Record Reader

Reads Reads

Calculates

Page 101: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Record Reader

Reads Reads

Calculates

Defines

Page 102: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

Page 103: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

Page 104: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Page 105: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Page 106: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Page 107: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Page 108: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Shuffle

Page 109: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition Shuffle

Page 110: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 111: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 112: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Reads

Passes <K,V> pairs

Reads

Calculates

Defines

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 113: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Reads

Passes <K,V> pairs

Reads

Passes <K,V> pairs

Calculates

Defines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 114: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Reads

Passes <K,V> pairs

Reads

Passes <K,V> pairsOutputFormat

Calculates

Defines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 115: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Output Data

Reads

Passes <K,V> pairs

Reads

Passes <K,V> pairsOutputFormat

Calculates

Defines

Defines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 116: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

Writer

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Writer

Output Data

Reads

Passes <K,V> pairs

Reads

Passes <K,V> pairsOutputFormat

Calculates

Defines

DefinesDefines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 117: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

Writer

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Writer

Output Data

Reads

Passes <K,V> pairs

Reads

Passes <K,V> pairsOutputFormat

Calculates

Defines

DefinesDefines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 118: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

Writer

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Writer

Output Data

Reads

Passes <K,V> pairs

Writes

Reads

Passes <K,V> pairs

Writes

OutputFormat

Calculates

Defines

DefinesDefines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 119: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

Writer

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Writer

Output Data

Reads

Passes <K,V> pairs

Writes

Reads

Passes <K,V> pairs

Writes

OutputFormat

Defines

Calculates

Defines

DefinesDefines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 120: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

Writer

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Writer

Output Data

Reads

Passes <K,V> pairs

Writes

Reads

Passes <K,V> pairs

Writes

OutputFormat

Defines

Defines

Calculates

Defines

DefinesDefines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 121: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

Writer

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Writer

Output Data

Reads

Passes <K,V> pairs

Writes

Reads

Passes <K,V> pairs

Writes

OutputFormat

Defines

Defines

Calculates

Defines

Defines

DefinesDefines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 122: Bd class 2 complete

MapReduce Execution FrameworkMapReduce

Reduce Process

Mapper Process

Input HDFS File - inputFile.txtBlock A Block B Block C

Driver

Mapper

Reducer

Record Reader

Input Split 1 Input Split 2 Input Split 3 Input Split 4

Writer

InputFormat

Output Data

Reduce Process

Mapper Process

Mapper

Reducer

Record Reader

Writer

Output Data

Reads

Passes <K,V> pairs

Writes

Reads

Passes <K,V> pairs

Writes

OutputFormat

Defines

Defines

Calculates

Defines

Defines

Defines

DefinesDefines

Passes <K,V> pairs

Passes <K,V> pairs

<K, V> pairs <K, V> pairs

Partition ShuffleSort

Page 123: Bd class 2 complete

RECAP

MapReduce Execution Framework

Page 124: Bd class 2 complete

BUMPER

Page 125: Bd class 2 complete

BUMPER

Page 126: Bd class 2 complete
Page 127: Bd class 2 complete

Topic 5

Class 2 – Hadoop Distributed File System

MapReduce – Hands On (Part – 2)

Page 128: Bd class 2 complete

AGENDA

• What is Big Data?• Hadoop Distributed File System• MapReduce• Understanding Hadoop Ecosystem• Setting up a Hadoop Cluster• HDFS – Hands On• MapReduce-Hands On

Page 129: Bd class 2 complete

Java MapReduce Programming

MapReduce

Hello World of MapReduce >> Word Count program

Eclipse – Integrated Development Environment (IDE)

https://www.eclipse.org/downloads/

Page 130: Bd class 2 complete

RECAP

Part two of Java MapReduce program

Page 131: Bd class 2 complete

BUMPER