0% found this document useful (0 votes)
13 views6 pages

Cloud LAB 10.1,11.1,12.1

The document contains Java code for three Hadoop MapReduce applications: WordCount, KeywordSearch, and WeatherAnalysis. WordCount counts the occurrences of words in input text, KeywordSearch counts specific keywords, and WeatherAnalysis categorizes weather data based on temperature. Each application includes a mapper and reducer class, along with a main method to configure and execute the job.

Uploaded by

koushi8073
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views6 pages

Cloud LAB 10.1,11.1,12.1

The document contains Java code for three Hadoop MapReduce applications: WordCount, KeywordSearch, and WeatherAnalysis. WordCount counts the occurrences of words in input text, KeywordSearch counts specific keywords, and WeatherAnalysis categorizes weather data based on temperature. Each application includes a mapper and reducer class, along with a main method to configure and execute the job.

Uploaded by

koushi8073
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

LAB 10.

LAB 11.1
WordCount.java
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class WordCount {
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().toLowerCase().replaceAll("[^a-z]",
""));
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);

public static void main(String[] args) throws Exception {

Configuration conf = new Configuration();

Job job = Job.getInstance(conf, "word count");

job.setJarByClass(WordCount.class);

job.setMapperClass(TokenizerMapper.class);

job.setCombinerClass(IntSumReducer.class); // Optional optimization

job.setReducerClass(IntSumReducer.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

FileInputFormat.addInputPath(job, new Path("input"));

FileOutputFormat.setOutputPath(job, new Path("output"));

System.exit(job.waitForCompletion(true) ? 0 : 1);

}
KeyWordSearch.java
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.HashSet;
import java.util.Set;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class KeywordSearch {
public static class KeywordMapper extends Mapper<Object, Text, Text,
IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
private static final Set<String> keywords = new HashSet<>();
protected void setup(Context context) {
keywords.add("hadoop");
keywords.add("data");
keywords.add("processing");
}
public void map(Object key, Text value, Context context) throws
IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
String token =
itr.nextToken().toLowerCase().replaceAll("[^a-z]", "");
if (keywords.contains(token)) {
word.set(token);
context.write(word, one);
}
}
}
}
public static class KeywordReducer 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);
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "keyword search");
job.setJarByClass(KeywordSearch.class);
job.setMapperClass(KeywordMapper.class);
job.setCombinerClass(KeywordReducer.class);
job.setReducerClass(KeywordReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path("input"));
FileOutputFormat.setOutputPath(job, new Path("output"));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
LAB 12.1

WeatherAnalysis.java
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class WeatherAnalysis {
public static class WeatherMapper extends Mapper<Object, Text, Text,
Text> {
private Text date = new Text();
private Text condition = new Text();
public void map(Object key, Text value, Context context) throws
IOException, InterruptedException {
String[] fields = value.toString().split(",");
if (fields.length == 2) {
String day = fields[0];
int temperature = Integer.parseInt(fields[1]);
date.set(day);
if (temperature > 30) {
condition.set("HOT");
} else {
condition.set("COOL");
}
context.write(date, condition);
}
}
}
public static class WeatherReducer extends Reducer<Text, Text, Text,
Text> {
public void reduce(Text key, Iterable<Text> values, Context
context)
throws IOException, InterruptedException {
for (Text val : values) {
context.write(key, val);
}
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "weather analysis");
job.setJarByClass(WeatherAnalysis.class);
job.setMapperClass(WeatherMapper.class);
job.setReducerClass(WeatherReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
FileInputFormat.addInputPath(job, new Path("input"));
FileOutputFormat.setOutputPath(job, new Path("output"));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}

You might also like