You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Aljoscha Krettek (JIRA)" <ji...@apache.org> on 2015/07/23 15:25:04 UTC

[jira] [Created] (FLINK-2398) Decouple StreamGraph Building from the API

Aljoscha Krettek created FLINK-2398:
---------------------------------------

             Summary: Decouple StreamGraph Building from the API
                 Key: FLINK-2398
                 URL: https://issues.apache.org/jira/browse/FLINK-2398
             Project: Flink
          Issue Type: Improvement
          Components: Streaming
            Reporter: Aljoscha Krettek
            Assignee: Aljoscha Krettek


Currently, the building of the StreamGraph is very intertwined with the API methods. DataStream knows about the StreamGraph and keeps track of splitting, selected names, unions and so on. This leads to the problem that is is very hard to understand how the StreamGraph is built because the code that does it is all over the place. This also makes it hard to extend/change parts of the Streaming system.

I propose to introduce "Transformations". A transformation hold information about one operation: The input streams, types, names, operator and so on. An API method creates a transformation instead of fiddling with the StreamGraph directly. A new component, the StreamGraphGenerator creates a StreamGraph from the tree of transformations that result from program specification using the API methods. This would relieve DataStream from knowing about the StreamGraph and makes unions, splitting, selection visible transformations instead of being scattered across the different API classes as fields.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)