MapReduce Design Patterns (Building Effective Algorithms and Analytics for Hadoop and Other Systems)