Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to use Flink Sum to get the sum of values in a set of data streams

Shulou Source: shulou.com Published: 2022-06-01 06:16:16 10月01日 Update

This article mainly explains "how to use Flink Sum to obtain the sum of values in a set of data streams." Interested friends may wish to have a look. The method introduced in this paper is simple, fast and practical. Let's let Xiaobian take you to learn "how to use Flink Sum to get the sum of values in a set of data streams"!

sum operator: Gets the sum of values in a set of data streams

example environment

java.version: 1.8.xflink.version: 1.11.1

Sample Data Source (Project Code Cloud Download)

Flink System Example: Building Development Environment and Data

Sum.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 sum operator: Gets the sum of values in a set of data streams */public class Sum { /** * Traversing the collection, returning the sum of ages under each gender partition * @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.STRING,Types.INT)) .keyBy((KeySelector) k ->k.f0) //Scroll by number window, calculate once every 3 input data streams .countWindow(3) .sum(1); dataStream.print(); env.execute("flink Sum job"); }}

print result

4> (girl,74)2> (man,79) At this point, I believe that everyone has a deeper understanding of "how to use Flink Sum to obtain the sum of values in a set of data streams." Here is the website, more related content can enter the relevant channels for inquiry, pay attention to us, continue to learn!

Tags: Data sum data flow numerical value content environment example operator learning practical deeper interest practical actual age gender easy to operate data source quantity method Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno vpn Shulou Tech Info Linux OPPO Reno Docker