yunfengzhou-hub commented on code in PR #97: URL: https://github.com/apache/flink-ml/pull/97#discussion_r888724585
########## flink-ml-core/src/main/java/org/apache/flink/ml/common/datastream/DataStreamUtils.java: ########## @@ -182,4 +307,79 @@ public void snapshotState(StateSnapshotContext context) throws Exception { } } } + + /** + * A stream operator that takes a randomly sampled subset of elements in a bounded data stream. + */ + private static class SamplingOperator<T> extends AbstractStreamOperator<List<T>> + implements OneInputStreamOperator<T, List<T>>, BoundedOneInput { + private final int numSamples; + + private final Random random; + + private ListState<T> samplesState; + + private List<T> samples; + + private ListState<Integer> countState; Review Comment: `count` and `countState` represents the number of elements that have been received by the subtask so far. It might be larger than or equal to `samples.size()`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org