You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some discussion in #856 led to the conclusion that we need to think about an approach for handling null values in StreamPipes event streams.
As a first result, we agreed on a strategy to handle null values during schema guessing. Here we want to detect fields with missing values/null values and ask the user how this field(s) should be handled. The user can then select a data type for the affected field or decide to exclude it from the event schema totally.
With this in mind, there is a need to develop a concept for handling these optional fields during runtime. Since this will lead to some major changes, we want to collect possible ideas and concepts in this discussion. Once we have decided on a technical solution, we can create the corresponding issues and start the implementation.
The goal is to have this change included in the 1.0.0 release.
At this stage, I would already like to make a suggestion on how we handle the introduction of optional fields with respect to our processing elements:
If we come up with an approach to handle null values in event streams, each processing element will have to take care of handling null values in event streams. Currently, this is probably not the case for the majority of our processing elements.
Therefore, I'd like to propose the following change:
We extend the ProcessingElementBuilder with the option to specify that a processing element can handle optional fields.
Only in this case it is possible to connect this processing element to data streams with null values in the pipeline editor.
Consequently, we would have to prepare our processing elements only step by step for processing null values.
I know that this proposal is quite restrictive, but it is the cleanest and most consistent one in my opinion.
strategicDiscussions only. Indicates that a discussion refers to a strategic topic.
1 participant
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Some discussion in #856 led to the conclusion that we need to think about an approach for handling null values in StreamPipes event streams.
As a first result, we agreed on a strategy to handle null values during schema guessing. Here we want to detect fields with missing values/null values and ask the user how this field(s) should be handled. The user can then select a data type for the affected field or decide to exclude it from the event schema totally.
With this in mind, there is a need to develop a concept for handling these optional fields during runtime. Since this will lead to some major changes, we want to collect possible ideas and concepts in this discussion. Once we have decided on a technical solution, we can create the corresponding issues and start the implementation.
The goal is to have this change included in the
1.0.0
release.At this stage, I would already like to make a suggestion on how we handle the introduction of optional fields with respect to our processing elements:
If we come up with an approach to handle null values in event streams, each processing element will have to take care of handling null values in event streams. Currently, this is probably not the case for the majority of our processing elements.
Therefore, I'd like to propose the following change:
We extend the
ProcessingElementBuilder
with the option to specify that a processing element can handle optional fields.Only in this case it is possible to connect this processing element to data streams with null values in the pipeline editor.
Consequently, we would have to prepare our processing elements only step by step for processing null values.
I know that this proposal is quite restrictive, but it is the cleanest and most consistent one in my opinion.
How do you think about it?
Beta Was this translation helpful? Give feedback.
All reactions