package cn.edu.tju.demo;
import org.apache.flink.api.common.serialization.SimpleStringSchema;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.serialization.StringDeserializer;
import org.apache.kafka.common.serialization.StringSerializer;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
public class Test04 {
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment environment = StreamExecutionEnvironment
.getExecutionEnvironment();
DataStreamSource<String> mySource = environment.addSource(new MySourceFunction());
mySource.print();
environment.execute("my job");
}
public static class MySourceFunction implements SourceFunction<String> {
private boolean runningFlag = true;
@Override
public void run(SourceContext<String> ctx) throws Exception {
while (runningFlag){
ctx.collect("hi");
ctx.collect("world");
Thread.sleep(30000);
}
}
@Override
public void cancel() {
runningFlag = false;
}
}
}
flink: 自定义SourceFunction
最新推荐文章于 2024-03-29 22:33:41 发布