-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FLINK-3109]Join two streams with two different buffer time -- Java i… #1527
Conversation
* @throws Exception | ||
*/ | ||
private void processWatermark(long watermark) throws Exception{ | ||
System.out.println("Watermark:" + String.valueOf(watermark)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
System.out
is not good here. Maybe using logger if you want to log something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your suggestion.
Hi @wangyangjun, Could you also please add support for the Scala API, we try to keep the two APIs in sync. If you need help with that, please let me know. |
Hello @aljoscha , |
Concerning the data management: @aljoscha and me are currently heavily reworking that. The interfaces for that will go into the code in a few days (they are in this pull request: #1562) For now, I would focus on the API and we look into the buffers in a few days. BTW: how exactly the buffered data is held (managed memory, external databases, etc) depends on the "state backend" of the job. Memory behavior can be changed that way and the operators need not worry about that. |
@wangyangjun We actually merged all the changes concerning the state abstraction. To make this window join work seamlessly on Flink's state backends (memory, or key/value stores, managed memory, ...) you would need to implement it against the key/value state. That means that whenever you store data in the operator, the data should go into the partitioned state that you can obtain from the I think that for this window operator, the Please write back if you need some more pointers on the state abstraction. |
I just saw that you updated this pull request (actually a few weeks ago already) A lot of it looks very good, some things we need to check a bit deeper (like how triggers actually behave on the two separate windows, how windows are matched). Can you give a high level summary of how this should behave? |
Hi StephanEwen, sorry for replying this late. This will join two window streams as long as slide size of these two windows are equal. It can be two SlidingTimeWindows, one SlidingTimeWindow and one TumblingTimeWindow. If slide size of windows are not equal, an exception will be threw. It doesn't support generic windows and triggers yet. Only TimeWindow is allowed in the API. |
I'm closing this as "Abandoned", since there is no more activity and the code base has moved on quite a bit. |
Java implementation of jira FLINK-3109