Solved

Consider the Following Reducer Code: 1 #!/Usr/bin/env Python3

Question 41

Multiple Choice

Consider the following reducer code: 1 #!/usr/bin/env python3
2 # length_reducer.py
3 """Counts the number of words with each length."""
4 import sys
5 from itertools import groupby
6 from operator import itemgetter
7
8 def tokenize_input() :
9 """Split each line of standard input into a key and a value."""
10 for line in sys.stdin:
11 yield line.strip() .split('\t')
12
13 # produce key-value pairs of word lengths and counts separated by tabs
14 for word_length, group in groupby(tokenize_input() , itemgetter(0) ) :
15 try:
16 total = sum(int(count) for word_length, count in group)
17 print(word_length + '\t' + str(total) )
18 except ValueError:
19 pass # ignore word if its count was not an integer
Which of the following statements a) , b) or c) is false?


A) When the MapReduce algorithm executes this reducer, lines 14-19 use the groupby function from the itertools module to group all word lengths of the same value. The first argument calls tokenize_input to get the lists representing the key-value pairs. The second argument indicates that the key-value pairs should be grouped based on the element at index 0 in each list-that is the key.
B) Line 16 totals all the counts for a given key. Line 17 outputs a new key-value pair consisting of the word length and the total number of words of that length.
C) The MapReduce algorithm takes all the final word length and count outputs and writes them to a file in HDFS-the Hadoop file system.
D) All of the above statements are true.

Correct Answer:

verifed

Verified

Unlock this answer now
Get Access to more Verified Answers free of charge

Related Questions

Unlock this Answer For Free Now!

View this answer and more for free by performing one of the following actions

qr-code

Scan the QR code to install the App and get 2 free unlocks

upload documents

Unlock quizzes for free by uploading documents