https://0x0fff.com/spark-memory-management/
https://0x0fff.com/spark-architecture-shuffle/
http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-1/
http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/