November 2017
Beginner to intermediate
290 pages
7h 34m
English
When tuning an application with custom operators, some common Java coding practices can act as hidden performance drains so developers should avoid them as far as possible. We've already mentioned one earlier, in passing—inadvertently including a large number of fields (or fields whose values are large) of an operator in the state by not adding the transient modifier. As the size of the state increases, serializing it for every checkpoint can become a hidden bottleneck. Generally speaking, if a field is cleared for every streaming or application window, it does not need to be part of the state.
A second practice is the per-tuple use of reflection (or the use of Maps and other Java collections) ...
Read now
Unlock full access