H13-723_V2.0 · Question #97
Which of the following is correct about the HDFS client's file reading process? (multiple choice)
The correct answer is A. Download data from the nearest DataNode first. C. If the client and the connected DataNode fail during reading, the client will abandon the failed D. Support multiple clients to read the same file data from the DataNode at the same time. A, C, and D are all correct because they accurately describe how the HDFS client interacts with DataNodes during a read operation. A is correct: The NameNode returns a list of DataNode locations sorted by proximity (using rack-awareness). The client always attempts to read from…
Question
Which of the following is correct about the HDFS client's file reading process? (multiple choice)
Options
- ADownload data from the nearest DataNode first.
- BThe file data is first returned from the DataNode to the NameNode, and then sent from the
- CIf the client and the connected DataNode fail during reading, the client will abandon the failed
- DSupport multiple clients to read the same file data from the DataNode at the same time.
How the community answered
(67 responses)- A82% (55)
- B18% (12)
Explanation
A, C, and D are all correct because they accurately describe how the HDFS client interacts with DataNodes during a read operation.
- A is correct: The NameNode returns a list of DataNode locations sorted by proximity (using rack-awareness). The client always attempts to read from the nearest DataNode first, reducing network latency and bandwidth consumption.
- C is correct: When a DataNode fails mid-read, the client flags it as bad for the current operation and seamlessly retries on another DataNode holding a replica of the same block - it does not abort the entire read.
- D is correct: HDFS is designed for high-throughput parallel access. Multiple clients can simultaneously read the same file blocks from DataNodes with no locking conflicts.
B is wrong because data in HDFS flows directly from DataNode → Client. The NameNode handles only metadata (block locations, namespace) and never touches actual file data. Routing data through the NameNode would make it a catastrophic bottleneck.
Memory tip: Think of the NameNode as a librarian who gives you a map - it tells you which shelves (DataNodes) hold the book and puts the closest shelf first. You walk directly to the shelf yourself, skip any broken aisles (C), and other readers can browse the same shelf at the same time (D). The librarian never carries your books.
Community Discussion
No community discussion yet for this question.