Details
-
Bug
-
Status: Resolved
-
P3
-
Resolution: Fixed
-
None
Description
Apache Beam [1] is a unified and portable programming model for data processing jobs (pipelines). The Beam model [2, 3, 4] has rich mechanisms to process endless streams of events.
Nexmark [5] is a benchmark for streaming jobs, basically a set of jobs (queries) to test different use cases of the execution system. Beam implemented Nexmark for Java [6, 7] and it has been succesfully used to improve the features of multiple Beam runners and discover performance regressions.
Thanks to the work on portability [8] we can now run Beam pipelines on top of open source systems like Apache Spark [9] and Apache Flink [10]. The goal of this issue/project is to implement the Nexmark queries on Python and configure them to run on our CI on top of open source systems like Apache Spark and Apache Flink. The goal is that it helps the project to track and improve the evolution of portable open source runners and our python implementation as we do for Java.
Because of the time constraints of GSoC we will adjust the goals (sub-tasks) depending on progress.
[1] https://beam.apache.org/
[2] https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-101
[3] https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-102
[4] https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43864.pdf
[5] https://web.archive.org/web/20100620010601/http://datalab.cs.pdx.edu/niagaraST/NEXMark/
[6] https://beam.apache.org/documentation/sdks/java/testing/nexmark/
[7] https://github.com/apache/beam/tree/master/sdks/java/testing/nexmark
[8] https://beam.apache.org/roadmap/portability/
[9] https://spark.apache.org/
[10] https://flink.apache.org/
Attachments
Issue Links
1.
|
Implement a Python version of the Nexmark queries | Resolved | Yichi Zhang |
|
||||||||
2.
|
Run Nexmark Python based queries on Python direct runner | Open | Unassigned | |||||||||
3.
|
Nexmark should serialize events in a language agnostic way | Open | Unassigned | |||||||||
4.
|
Integrate IOs on Nexmark execution | Open | Unassigned | |||||||||
5.
|
Run Nexmark Java based queries on Spark portable runner | Open | Unassigned | |||||||||
6.
|
Run Nexmark Java based queries on Flink portable runner | Open | Unassigned | |||||||||
7.
|
Run Nexmark Python based queries on Spark portable runner | Open | Unassigned | |||||||||
8.
|
Run Nexmark Python based queries on Flink portable runner | Open | Unassigned | |||||||||
9.
|
Add Nexmark events generation based on ParDo | Open | Unassigned |
|
||||||||
10.
|
Add a way to generate Nexmark events based on SDF | Open | Unassigned | |||||||||
11.
|
Use cross-language Nexmark generator for Python Nexmark queries | Open | Unassigned |