Cloudera CCD-410 Exam Actual Questions

The questions for CCD-410 were last updated on Dec. 3, 2024.
  • Viewing page 1 out of 15 pages.
  • Viewing questions 1-4 out of 60 questions

Topic 1 - Single Topic

Question #1 Topic 1

When is the earliest point at which the reduce method of a given Reducer can be called?

  • A. As soon as at least one mapper has finished processing its input split.
  • B. As soon as a mapper has emitted at least one record.
  • C. Not until all mappers have finished processing all records.
  • D. It depends on the InputFormat used for the job.
Reveal Solution Hide Solution   Discussion  

Correct Answer: C 🗳️
In a MapReduce job reducers do not start executing the reduce method until the all Map jobs have completed. Reducers start copying intermediate key-value pairs from the mappers as soon as they are available. The programmer defined reduce method is called only after all the mappers have finished.
Note: The reduce phase has 3 steps: shuffle, sort, reduce. Shuffle is where the data is collected by the reducer from each mapper. This can happen while mappers are generating data since it is only a data transfer. On the other hand, sort and reduce can only start once all the mappers are done.
Why is starting the reducers early a good thing? Because it spreads out the data transfer from the mappers to the reducers over time, which is a good thing if your network is the bottleneck.
Why is starting the reducers early a bad thing? Because they "hog up" reduce slots while only copying data. Another job that starts later that will actually use the reduce slots now can't use them.
You can customize when the reducers startup by changing the default value of mapred.reduce.slowstart.completed.maps in mapred-site.xml. A value of 1.00 will wait for all the mappers to finish before starting the reducers. A value of 0.0 will start the reducers right away. A value of 0.5 will start the reducers when half of the mappers are complete. You can also change mapred.reduce.slowstart.completed.maps on a job-by-job basis.
Typically, keep mapred.reduce.slowstart.completed.maps above 0.9 if the system ever has multiple jobs running at once. This way the job doesn't hog up reducers when they aren't doing anything but copying data. If you only ever have one job running at a time, doing 0.1 would probably be appropriate.
Reference: 24 Interview Questions & Answers for Hadoop MapReduce developers, When is the reducers are started in a MapReduce job?

Question #2 Topic 1

Which describes how a client reads a file from HDFS?

  • A. The client queries the NameNode for the block location(s). The NameNode returns the block location(s) to the client. The client reads the data directory off the DataNode(s).
  • B. The client queries all DataNodes in parallel. The DataNode that contains the requested data responds directly to the client. The client reads the data directly off the DataNode.
  • C. The client contacts the NameNode for the block location(s). The NameNode then queries the DataNodes for block locations. The DataNodes respond to the NameNode, and the NameNode redirects the client to the DataNode that holds the requested data block(s). The client then reads the data directly off the DataNode.
  • D. The client contacts the NameNode for the block location(s). The NameNode contacts the DataNode that holds the requested data block. Data is transferred from the DataNode to the NameNode, and then from the NameNode to the client.
Reveal Solution Hide Solution   Discussion  

Correct Answer: C 🗳️
The Client communication to HDFS happens using Hadoop HDFS API. Client applications talk to the NameNode whenever they wish to locate a file, or when they want to add/copy/move/delete a file on HDFS. The NameNode responds the successful requests by returning a list of relevant DataNode servers where the data lives. Client applications can talk directly to a DataNode, once the NameNode has provided the location of the data.
Reference: 24 Interview Questions & Answers for Hadoop MapReduce developers, How the Client communicates with HDFS?

Question #3 Topic 1

You are developing a combiner that takes as input Text keys, IntWritable values, and emits Text keys, IntWritable values. Which interface should your class implement?

  • A. Combiner <Text, IntWritable, Text, IntWritable>
  • B. Mapper <Text, IntWritable, Text, IntWritable>
  • C. Reducer <Text, Text, IntWritable, IntWritable>
  • D. Reducer <Text, IntWritable, Text, IntWritable>
  • E. Combiner <Text, Text, IntWritable, IntWritable>
Reveal Solution Hide Solution   Discussion  

Correct Answer: D 🗳️

Question #4 Topic 1

Indentify the utility that allows you to create and run MapReduce jobs with any executable or script as the mapper and/or the reducer?

  • A. Oozie
  • B. Sqoop
  • C. Flume
  • D. Hadoop Streaming
  • E. mapred
Reveal Solution Hide Solution   Discussion  

Correct Answer: D 🗳️
Hadoop streaming is a utility that comes with the Hadoop distribution. The utility allows you to create and run Map/Reduce jobs with any executable or script as the mapper and/or the reducer.
Reference:
http://hadoop.apache.org/common/docs/r0.20.1/streaming.html
(Hadoop Streaming, second sentence)

Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...