This document presents a MapReduce-based programming model for self-maintaining aggregate views. It begins with motivation for incremental processing of aggregate views to avoid recomputing from scratch. It then provides background on related work in incremental MapReduce processing. The core functionality allows for distributed computation using MapReduce with incremental, overwrite, and full recomputation jobs. Evaluation shows incremental processing is faster than full recomputation when changes are small.