Srivatsav Gorti
01/29/2023, 1:18 PMpublic void run() throws Exception {
StreamExecutionEnvironment environment = StreamExecutionEnvironment.getExecutionEnvironment();
environment.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
environment.setStateBackend(new FsStateBackend("<s3://dev/checkpoint>"));
environment.enableCheckpointing(50000L);
environment.getConfig().setGlobalJobParameters(parameters);
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "localhost:9092");
properties.setProperty("group.id", "temp");
DataStream<ObjectNode> source = environment
.addSource(new FlinkKafkaConsumer<>("test", new JSONKeyValueDeserializationSchema(false), properties))
.rebalance();
SingleOutputStreamOperator<Tuple4<String, String, Integer, Long>> workflow = source
.map(new RecordMapper())
.keyBy(0, 1)
.timeWindow(Time.minutes(2))
.aggregate(new TimeStampAggregateFunction());
//S3 sink
StreamingFileSink<Tuple4<String, String, Integer, Long>> sink = StreamingFileSink
.forRowFormat(new Path("<s3://dev/sink-test>"),
(Encoder<Tuple4<String, String, Integer, Long>>) (element, stream) -> {
PrintStream out = new PrintStream(stream);
out.println(element.f1);
})
.withBucketAssigner(new BucketAssigner())
.build();
workflow.addSink(sink);
environment.execute();
}Reme Ajayi
02/09/2023, 4:55 PM