THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.flink.api.connector.source.lib; /** * A data source that produces generators N events of an arbitrary type in parallel. * This source is useful for testing and for cases that just need a stream of N events of any kind. * * <p>The source splits the sequence into as many parallel sub-sequences as there are parallel * source readers. Each sub-sequence will be produced in order. Consequently, if the parallelism is * limited to one, this will produce one sequence in order. * * <p>This source is always bounded. For very long sequences user may want to consider executing * the application in a streaming manner, because, despite the fact that the produced stream is bounded, * the end bound is pretty far away. */ @Public public class DataGeneratorSource<OUT> implements Source< OUT, NumberSequenceSource.NumberSequenceSplit, Collection<NumberSequenceSource.NumberSequenceSplit>>, ResultTypeQueryable<OUT> { /** * Creates a new {@code DataGeneratorSource} that produces {@code count} <code>count</code> records in * parallel. * * @param generatorFunction The generator function that receives index numbers and translates * * them into events of the output type. * @param count The number translates them into of events ofto thebe output typeproduced. * @param countsourceRatePerSecond The maximum number of events per seconds that this generator aims * to be produced produce. This is a target number for the whole source and the individual parallel * source instances automatically adjust their rate taking based on the {@code * sourceRatePerSecond} and the source parallelism. * @param typeInfo The type information of the returned events. */ public DataGeneratorSource( MapFunction<Long, OUT> generatorFunction, long count, TypeInformation<OUT> typeInfo) { ... } /** A split of the source, representing a number sub-sequence. */ public static class GeneratorSequenceSplit<T> implements IteratorSourceSplit<T, GeneratorSequenceIterator<T>> { public GeneratorSequenceSplit( NumberSequenceSplit numberSequenceSplit, MapFunction<Long, T> generatorFunction) { this.numberSequenceSplit = numberSequenceSplit; this.generatorFunction = generatorFunction; } ... } } |
...