kafka消息是自带timestamp的,但有的时候需要自定义eventTime,直接上代码
final StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();
env.setParallelism(2);
//这里我采用eventTime
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
//接收kafka消息
Properties propsConsumer = new Properties();
propsConsumer.setProperty("bootstrap.servers", KafkaConfig.KAFKA_BROKER_LIST);
propsConsumer.setProperty("group.id", "trafficwisdom-streaming");
propsConsumer.put("enable.auto.commit", false);
propsConsumer.put("max.poll.records", 1000);
FlinkKafkaConsumer011<String> consumer = new FlinkKafkaConsumer011<String>("topic-test", new SimpleStringSchema(), propsConsumer);
consumer.setStartFromLatest();
DataStream<String> stream = env.addSource(consumer);
stream.print();
//自定义,消息中dateTime作为eventTime
DataStream<String> streamResult= str