用户通过算子能将一个或多个 DataStream 转换成新的 DataStream,在应用程序中可以将多个数据转换算子合并成一个复杂的数据流拓扑。 这部分内容将描述 Flink DataStream API 中基本的数据转换 API。
目录
Map(DataStream → DataStream)
FlatMap(DataStream → DataStream)
Filter(DataStream → DataStream)
KeyBy(DataStream → KeyedStream)
Reduce(KeyedStream → DataStream)
Aggregation(KeyedStream → DataStream)
Union(DataStream* → DataStream)
Connect (DataStream,DataStream → ConnectedStream)
CoMap, CoFlatMap (ConnectedStream → DataStream)
Map(DataStream → DataStream)
输入一个元素同时输出一个元素,下面是将输入流中元素数值加 5 倍的例子:
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import java.util.Arrays;public class TransformationExample_1 {public static void main(String[] args) throws Exception{StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);DataStream<Integer> dataStream = env.fromData((Arrays.asList(11,12,13)));// map 使用,对应获取的数据 * 5,并打印出来dataStream.map(new MapFunctio