1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
lys-0071 [83]
3 years ago
6

Modify the WordCount program so it outputs the wordcount for each distinct word in each file. So the output of this DocWordCount

program should be of the form ‘word#####filename count’, where ‘#####’ serves as a delimiter between word and filename and tab serves as a delimiter between filename and count. Submit your source code in a file named DocWordCount.java.
Explanation: Consider two simple files file1.txt and file2.txt. $ echo "Hadoop is yellow Hadoop" > file1.txt $ echo "yellow Hadoop is an elephant" > file2.txt Running ‘DocWordCount.java’ on these two files will give an output similar to that below, where ##### is a delimiter.

Output of DocWordCount.java

yellow#####file2.txt 1

Hadoop#####file2.txt 1

is#####file2.txt 1

elephant#####file2.txt 1

yellow#####file1.txt 1

Hadoop#####file1.txt 2

is#####file1.txt 1

an#####file2.txt 1

Initial code that needs to be modified:

package org.myorg;

import java.io.IOException;
import java.util.regex.Pattern;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
import org.apache.log4j.Logger;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;


public class WordCount extends Configured implements Tool {

private static final Logger LOG = Logger .getLogger( WordCount.class);

public static void main( String[] args) throws Exception {
int res = ToolRunner .run( new WordCount(), args);
System .exit(res);
}

public int run( String[] args) throws Exception {
Job job = Job .getInstance(getConf(), " wordcount ");
job.setJarByClass( this .getClass());

FileInputFormat.addInputPaths(job, args[0]);
FileOutputFormat.setOutputPath(job, new Path(args[ 1]));
job.setMapperClass( Map .class);
job.setReducerClass( Reduce .class);
job.setOutputKeyClass( Text .class);
job.setOutputValueClass( IntWritable .class);

return job.waitForCompletion( true) ? 0 : 1;
}

public static class Map extends Mapper {
private final static IntWritable one = new IntWritable( 1);
private Text word = new Text();

private static final Pattern WORD_BOUNDARY = Pattern .compile("\\s*\\b\\s*");

public void map( LongWritable offset, Text lineText, Context context)
throws IOException, InterruptedException {

String line = lineText.toString();
Text currentWord = new Text();

for ( String word : WORD_BOUNDARY .split(line)) {
if (word.isEmpty()) {
continue;
}
currentWord = new Text(word);
context.write(currentWord,one);
}
}
}

public static class Reduce extends Reducer {
@Override
public void reduce( Text word, Iterable counts, Context context)
throws IOException, InterruptedException {
int sum = 0;
for ( IntWritable count : counts) {
sum += count.get();
}
context.write(word, new IntWritable(sum));
}
}
}
Computers and Technology
1 answer:
stepladder [879]3 years ago
8 0

Answer and Explanation:

package PackageDemo;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

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;

import org.apache.hadoop.util.GenericOptionsParser;

public class WordCount {

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

{

Configuration c=new Configuration();

String[] files=new GenericOptionsParser(c,args).getRemainingArgs();

Path input=new Path(files[0]);

Path output=new Path(files[1]);

Job j=new Job(c,"wordcount");

j.setJarByClass(WordCount.class);

j.setMapperClass(MapForWordCount.class);

j.setReducerClass(ReduceForWordCount.class);

j.setOutputKeyClass(Text.class);

j.setOutputValueClass(IntWritable.class);

FileInputFormat.addInputPath(j, input);

FileOutputFormat.setOutputPath(j, output);

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

}

public static class MapForWordCount extends Mapper<LongWritable, Text, Text, IntWritable>{

public void map(LongWritable key, Text value, Context con) throws IOException, InterruptedException

{

String line = value.toString();

String[] words=line.split(",");

for(String word: words )

{

Text outputKey = new Text(word.toUpperCase().trim());

IntWritable outputValue = new IntWritable(1);

con.write(outputKey, outputValue);

}

}

}

public static class ReduceForWordCount extends Reducer<Text, IntWritable, Text, IntWritable>

{

public void reduce(Text word, Iterable<IntWritable> values, Context con) throws IOException, InterruptedException

{

int sum = 0;

for(IntWritable value : values)

{

sum += value.get();

}

con.write(word, new IntWritable(sum));

}

}

}

You might be interested in
Select the proper ergonomic keyboarding techniques.
SCORPION-xisa [38]

Answer:

The correct options are;

-Position the keyboard directly in front and close to you so you don't have an excessive reach

-Keep your shoulders, arms, hands and fingers relaxed

-Position your wrists straight or in neutral position while typing

-Adjust your chair height and position so your feet rest flat on the floor, or add a footrest to compensate for a higher chair

-Adjust the keyboard height so that your shoulders can relax and your arms are straight in front of you

Explanation:

1) It is important to keep the fingers in a relaxed position when typing

2) Ensure to type in a tapping fashion when typing rather than pressing on the keys of the keyboard

3) The fingernails should be kept short when frequent typing is done

4) The wrist is better kept above the keyboard than resting on it

5) Ensure that the mouse is easily reached.

4 0
3 years ago
I want to make a if else statement where I want to make a message. If the input are letters (which it’s not supposed to) then I
MrRa [10]

Answer:scratch, im in it (22550077) AND ALSO IF MEANS LIKE IF YOU SAY HI THEN IT SAYS HI OR IF YOU SAY START GAME THE GAME STARTS

Explanation:

4 0
3 years ago
When network traffic is encrypted, it is invisible and its content and purpose are masked.
Olenka [21]

Answer:

true

Explanation:

encryption is when you scramble the contents of information

4 0
2 years ago
What are some other projects or things you do in your life (other than writing an essay) where you use an iterative process?
Sophie [7]

Answer:The iterative design process occurs in a continuous cycle involving three unique stages: formulate, test, evaluate. These core elements make up the basic progression in which the development of a game will follow. The rest is simply rinse and repeat

Explanation:

7 0
3 years ago
Read 2 more answers
Your program will read a word (or a whole line) from the user. It will then count the number of vowels in the word (or line) and
Softa [21]

Answer:

Following are the program in the Python Programming Language.

def vowel(): #define function

 print("Enter END to Break") #print message

 while(True): #set while loop

   word=input("Enter words: ") #get input from the user

   count=0 #set count to 0

   if(word=="END"): #set if condition

     break #terminate the loop

   else:

     for i in range(len(word)): #set the for loop

       c=word[i] #initialize in c

       if(c=='a'or c=='e' or c=='i'or c=='o'or c=='u'or c=='A'or c=='E'or c=='I'or c=='O'or c=='U'):

         count+=1 #increament in count by 1

     print("The word " , word , " contains " , count, end=" ")#print message

     if(count==1):#check condition

       print("vowel.")

     else:

       print("vowels")

#call the function

vowel()

Output:

Enter END to Break

Enter words: Vowel

The word  Vowel  contains  2 vowels

Enter words: END

Explanation:

Here, we define a function "vowel()" inside it.

  • Print message for the user.
  • Set the while loop and pass condition is True then, get input from the user in the variable "word" then, set variable "count" and initialize to 0.
  • Set if condition to check if the user input "END" then, the loop will terminate.
  • Otherwise, set for loop which continues from the length of the word.
  • Then, we set if statement which checks the vowel in the word, then increment in count by 1.
  • Print the message in the following format which is mentioned in the question.
  • Then, set if-else statement for check count is equal to 1 then print "vowel." Otherwise, it prints "vowels."

Finally, we call the following function "vowel()".

4 0
3 years ago
Other questions:
  • After an extruded feature has been created, you can always go back and edit the feature. When you edit an existing extrude featu
    11·1 answer
  • Is a growing network of physical objects that have sensors connected to the internet?
    15·1 answer
  • Computer communications describes a process in which two or more computers or devices transfer ____.
    10·1 answer
  • Who invented autonomous cars? When I look it up it comes up as William Bertelsen but he invented the idea of hovering cars. Help
    8·1 answer
  • 50) Universal Containers has an integration that runs nightly to update the Product (Product2) object in Salesforce with updated
    9·1 answer
  • What happens if you try to compile and run this program?
    5·1 answer
  • modified true or false analyze each statement then write technical the statement is true the statement is false underline the wo
    6·1 answer
  • What is the best description of a raster image?
    10·1 answer
  • HELP ASAP. Which of the following is the best example of an installation issue? A computer can’t find the file that it needs to
    7·1 answer
  • What is a valid response when identity theft occurs
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!