Which of the following options best describes the proper usage of MapReduce jobs in Hadoop environments?
A. MapReduce jobs are used to process vast amounts of data in-parallel on large clusters of commodity hardware in a reliable, fault-tolerant manner.
B. MapReduce jobs are used to process small amounts of data in-parallel on expensive hardware, without fault-tolerance.
C. MapReduce jobs are used to process structured data in sequence, with fault-tolerance.
D. MapReduce jobs are used to execute sequential search outside the Hadoop environment using a built-in UDF to access information stored in non-relational databases.