Stratosphere Version 0.4 Migration Guide

12 Jan 2014

This guide is intended to help users of previous Stratosphere versions to migrate their programs to the new API of v0.4.

Version 0.4-rc1, 0.4 and all newer versions have the new API. If you want to have the most recent version before the code change, please set the version to 0.4-alpha.3-SNAPSHOT. (Note that the 0.4-alpha versions are only available in the snapshot repository).

Maven Dependencies

Since we also reorganized the Maven project structure, existing programs need to update the Maven dependencies to stratosphere-java (and stratosphere-clients, for examples and executors).

The typical set of Maven dependencies for Stratosphere Java programs is:

       <groupId>eu.stratosphere</groupId>
-      <artifactId>pact-common</artifactId>
-      <version>0.4-SNAPSHOT</version>
+      <artifactId>stratosphere-java</artifactId>
+      <version>0.4</version>

-      <artifactId>pact-clients</artifactId>
-      <version>0.4-SNAPSHOT</version>
+      <artifactId>stratosphere-clients</artifactId>
+      <version>0.4</version>

Renamed classes

We renamed many of the most commonly used classes to make their names more intuitive:

Old Name (before 0.4) New Name (0.4 and after)
Contract Operator
MatchContract JoinOperator
[Map, Reduce, ...]Stub [Map, Reduce, ...]Function
MatchStub JoinFunction
Pact[Integer, Double, ...] IntValue, DoubleValue, ...
PactRecord Record
PlanAssembler Program
PlanAssemblerDescription ProgramDescription
RecordOutputFormat CsvOutputFormat

Package names have been adapted as well. For a complete overview of the renamings, have a look at issue #257 on GitHub.

We suggest for Eclipse user adjust the programs as follows: Delete all old Stratosphere imports, then rename the the classes (PactRecord to Record and so on). Finally, use the “Organize Imports” function (CTRL+SHIFT+O) to choose the right imports. The names should be unique so always pick the classes that are in the eu.stratosphere package.

Please contact us in the comments below, on the mailing list or on GitHub if you have any issues migrating to the latest Stratosphere release.

comments powered by Disqus