apache / apache/beam

Implement Combine optimizations for GABW in streaming

Open
#18,134 0 comments 0 reactions 0 assignees View on GitHub
improvement P3 runners spark
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
1d 20h
Merged PRs (30d)
196

Description

This should be straight-forward.
Introduce `AccumT` generics in `SparkGroupAlsoByWindowViaWindowSet` and call with `InputT` for GBK and `AccumT` with Combine.
Pass the proper `SystemReduceFn` instead of creating it in `SparkGroupAlsoByWindowViaWindowSet`.
For combine, extract the output from the fired accumulated output.

Imported from Jira [BEAM-1591](https://issues.apache.org/jira/browse/BEAM-1591). Original Jira may contain additional context.
Reported by: amitsela.

Contributor guide

Open the contributing guide

Research direction

Start by locating SparkGroupAlsoByWindowViaWindowSet and tracing how GABW handles GBK and Combine inputs. Review the existing SystemReduceFn construction and fired accumulated output flow. Done means AccumT is used for Combine, the appropriate SystemReduceFn is passed in, and Combine output is extracted from the fired accumulated output.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
stream-processing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.