What is MapReduce and how does it work in big data processing? How do the Map and Reduce phases process large datasets in distributed systems? What role does MapReduce play in the Hadoop ecosystem? How does MapReduce improve scalability and parallel processing of data? What are the advantages and limitations of using MapReduce in modern data engineering applications?