Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to use Flink CountWindow

Shulou Source: shulou.com Published: 2022-06-01 06:16:21 09月15日 Update

This article mainly explains "how to use Flink CountWindow". The content in the article is simple and clear, and it is easy to learn and understand. Please follow the editor's train of thought to study and learn how to use Flink CountWindow.

Number of countWindow windows (sliding window [the difference between a sliding window and a scrolling window is that there is a possibility of data element overlap in a sliding window, while there is no element overlap in a rolling window])

Sample environment

Java.version: 1.8.xflink.version: 1.11.1

Building Development Environment and data of Flink system example

CountWindow.java

Import com.flink.examples.DataSource;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.common.typeinfo.Types;import org.apache.flink.api.java.functions.KeySelector;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.api.java.tuple.Tuple3;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import java.util.List / * * @ Description countWindow number window (sliding window [the difference between sliding window and scrolling window is that there is a possibility of data element overlap in sliding window, but there is no element overlap in rolling window]) * / public class CountWindow {/ * window usually partitions the stream when processing stream data The data flow is divided into: keyed (dividing different data flow regions according to key) non-keyed (data flow regions not divided by key, referring to all original data streams) * / / * traversal collection, sliding by quantity window Return to the maximum age under each gender division in the window * @ param args * @ throws Exception * / public static void main (String [] args) throws Exception {final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment () List tuple3List = DataSource.getTuple3ToList (); DataStream dataStream = env.fromCollection (tuple3List) .map (new MapFunction () {@ Override public Tuple2 map (Tuple3 tuple3) throws Exception {return new Tuple2 (tuple3.f1,tuple3.f2)) }}) .returns (Types.TUPLE (Types.INT,Types.INT)) .keyby ((KeySelector) k-> k.f0) / / Slide by quantity window, input data stream to the first three partitions every two pairs Calculate once. CountWindow (3,2) / / Note: the calculation variable is F1 .maxBy (1) DataStream.print (); env.execute ("flink CountWindow job");}}

Print the result

4 > (2J32) 3 > (1J30) Thank you for your reading. The above is the content of "how to use Flink CountWindow". After the study of this article, I believe you have a deeper understanding of how to use Flink CountWindow, and the specific use needs to be verified in practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!

Tags: Data data flow elements quantity learning content environment different original maximum variable that is regular meeting age idea gender situation article more knowledge Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Redmi OPPO Reno NVidia Apple Shulou Technology