THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- The users need not provide other information except for KeySelector. It is keeping clean for users to use this API.
- The wrapping StreamRecord could help to reduce duplicated extraction and computation of key and keyGroupKeyGroup. Since the load of CPU is usually the bottleneck of a job comparing with the network consumption.
The con is that the implementation could be complicated and sensitive since wrapping the StreamRecord with a new field. But I believe it is acceptable since the modification is limited in the SourceTask.
...