Understanding the Differences Between Hadoop and Spark for Big Data Processing