GitHub user manuzhang opened a pull request: https://github.com/apache/incubator-beam/pull/323
[BEAM-79] add Gearpump runner Be sure to do all of the following to help us incorporate your contribution quickly and easily: - [ ] Make sure the PR title is formatted like: `[BEAM-<Jira issue #>] Description of pull request` - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable Travis-CI on your fork and ensure the whole test matrix passes). - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue number, if there is one. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.txt). --- This PR adds Gearpump runner to Beam meeting the goals of phase 1 in the [design document](https://docs.google.com/document/d/1nw64QUWVfT8L7FUprPGLEeNjSBpDMkn1otfLt2rHM5g/edit). The Gearpump runner supports the following functionalities, * Transformations: ParDo, GroupByKey, Flatten * Windows: using Beam's window logic and code * side outputs * serialization/deserialization: using Gearpump's Kryo serializer * sources: Beam's UnboundedSource * message delivery guarantee: at-most-once * tests: integration test for various translators Here's a snapshot of running the following Beam example on Gearpump cluster ```java PCollection<KV<String, Long>> wordCounts = p.apply(Read.from(new UnboundedTextSource()).named("WordStream")) .apply(ParDo.of(new ExtractWordsFn())) .apply(Window.<String>into(FixedWindows.of(Duration.standardSeconds(10)))) .apply(Count.<String>perElement()); wordCounts.apply(ParDo.of(new FormatAsStringFn())); ``` ![snip20160511_4](https://cloud.githubusercontent.com/assets/1191767/15171197/fd6ffba0-177e-11e6-99a1-30c7c2597244.png) Note that the Gearpump runner is still in early stage and lacking capabilities like trigger, side inputs, aggregator. However, I'd like to have the community to get a feel of what Gearpump is like, whether Beam and Gearpump go well, and gather ideas for improvements. You can merge this pull request into a Git repository by running: $ git pull https://github.com/manuzhang/incubator-beam gearpump_runner Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-beam/pull/323.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #323 ---- commit 73e5978f599bcf32ed8c2f1d54b6bd3bd8350092 Author: manuzhang <owenzhang1...@gmail.com> Date: 2016-03-15T08:15:16Z [BEAM-79] add Gearpump runner ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---