High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark