package com.zhisheng.connectors.kafka; import com.zhisheng.common.model.MetricEvent; import com.zhisheng.common.schemas.MetricSchema; import com.zhisheng.common.utils.ExecutionEnvUtil; import com.zhisheng.common.utils.KafkaConfigUtil; import org.apache.flink.api.java.utils.ParameterTool; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer011; /** * blog:http://www.54tianzhisheng.cn/ * 微信公众号:zhisheng */ public class Main { public static void main(String[] args) throws Exception { final ParameterTool parameterTool = ExecutionEnvUtil.createParameterTool(args); StreamExecutionEnvironment env = ExecutionEnvUtil.prepare(parameterTool); DataStreamSource<MetricEvent> data = KafkaConfigUtil.buildSource(env); data.addSink(new FlinkKafkaProducer011<>( parameterTool.get("kafka.sink.brokers"), parameterTool.get("kafka.sink.topic"), new MetricSchema() )).name("flink-connectors-kafka") .setParallelism(parameterTool.getInt("stream.sink.parallelism")); env.execute("flink learning connectors kafka"); } }