Hadoop and Spark fundamentals