Previous chapters outlined MapReduce concepts in detail and we started delving deeper into the way Hadoop is implemented at the end of Chapter 5. This chapter expands on that theme. First, compression schemes are explained, followed by a detailed discussion on Hadoop I/O. We address various types of files, such as Sequence and Avro files. In the process, you develop a deeper understanding of how the MapReduce framework works internally in the Hadoop engine.