代码如下:
package com.cuichunchi.watermark;
import org.apache.flink.api.common.eventtime.SerializableTimestampAssigner;
import org.apache.flink.api.common.eventtime.WatermarkStrategy;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.api.java.tuple.Tuple3;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.configuration.RestOptions;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.KeyedProcessFunction;
import org.apache.flink.streaming.api.functions.ProcessFunction;
import org.apache.flink.streaming.api.functions.windowing.ProcessWindowFunction;
import org.apache.flink.streaming.api.windowing.assigners.TumblingEventTimeWindows;
import org.apache.flink.streaming.api.windowing.time.Time;
import org.apache.flink.streaming.api.windowing.windows.TimeWindow;
import org.apache.flink.util.Collector;
import org.apache.flink.util.OutputTag;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.util.Date;
import java.util.Iterator;
/**
* 01,1586489566000
* 01,1586489567000
* 01,1586489568000
* 01,1586489569000
* 01,1586489570000
* 01,1586489571000
* 01,1586489572000
* 01,1586489573000
*
* 对应的时间:
* 2020-04-10 11:32:46
* 2020-04-10 11:32:47
* 2020-04-10 11:32:48
* 2020-04-10 11:32:49
* 2020-04-10 11:32:50
*/
public class TestWaterMark {
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
conf.setString(RestOptions.BIND_PORT,"19082");
StreamExecutionEnvironment env = StreamExecutionEnvironment
.createLocalEnvironmentWithWebUI(conf);
// .getExecutionEnvironment();
env.setParallelism(2);
env.disableOperatorChaining();
DataStreamSource<String> socketTextStream = env.socketTextStream("s201", 9099);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SingleOutputStreamOperator<Tuple3<String,Integer,Long>> tuple2Map = socketTextStream.map(new MapFunction<String, Tuple3<String,Integer,Long>>() {
@Override
public Tuple3<String,Integer, Long> map(String value) throws Exception {
return new Tuple3<>(value.split(",")[0],1, Long.parseLong(value.split(",")[1]));
}
});
//提取时间戳
SingleOutputStreamOperator<Tuple3<String,Integer,Long>> tuple2WMDS =

最低0.47元/天 解锁文章
3176

被折叠的 条评论
为什么被折叠?



