The PACT programming model

PACT is Stratosphere's programming model. It consists of the so-called Parallelization Contracts which push the Map-Reduce idea one step further.

I was thinking of writing a post, explaining how PACT works, but the truth is that I wouldn't do any better than the already existing documentation at the Stratosphere project website.

So, I will only provide here some useful links:

  • The Pact Programming Model: A high-level view of the programming model and in-detail presentation of the second-order functions available and the guarantees provided by the framework.
  • Building a PACT Program: A guide to PACT programming, including everything you need to know before starting writing PACT programs.
  • Example Jobs: Six example PACT programs of varying difficulty, starting from simple WordCount to more complex graph analysis algorithms.
  • The PACT Compiler: A detailed overview of how the PACT Compiler is built and how it performs the transformation of PACT programs into Nephele DAGs.

If you are already familiar with MapReduce programming, you will also find this paper very helpful. It compares the two programming models and contains a series of examples of common data analysis tasks implemented in both models.

 

Keep on happy coding,

V.