![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
DataStream API
文章平均质量分 87
一个 Flink 程序,其实就是对 DataStream 的各种转换。其中,获取环境和触发执行,都可以认为是针对执行环境的操作。本专栏从执行环境、数据源(source)、转换操z(Transformation)、输出(Sink)四大部分,对常用的 DataStreamAPI 做基本介绍。
_Zephyrus_
﹎ゞWhy insist, think about the beginning/╱°
展开
-
DataStream API【3】
例如,如果上游算子的并行度为2,而下游算子的并行度为4,那么一个上游算子实例将把元素均匀分配给两个下游算子实例,而另一个上游算子实例将把元素均匀分配给另外两个下游算子实例。相反,如果下游算子的并行度为2,而上游算子的并行度为4,那么两个上游算子实例将分配给一个下游算子实例,而另外两个上游算子实例将分配给另一个下游算子实例。转发分区策略只将元素转发给本地运行的下游算子的实例,即将元素发送到与当前算子实例在同一个TaskManager的下游算子实例,而不需要进行网络传输。每个下游算子的实例都具有相等的负载。原创 2023-01-30 16:25:40 · 567 阅读 · 0 评论 -
DataStream API【2】
使用该算子可以将DataStream中的元素按照指定的key(指定的字段)进行分组,具有相同key的元素将进入同一个分区中(不进行聚合),并且不改变原来元素的数据结构。例如,根据元素的形状对元素进行分组,相同形状的元素将被分配到一起,可被后续算子统一处理。KeyedStream用来表示根据指定的key进行分组的数据流。在Flink中,Transformation(转换)算子就是将一个或多个DataStream转换为新的DataStream,可以将多个转换组合成复杂的数据流(Dataflow)拓扑。原创 2023-01-30 15:55:53 · 225 阅读 · 0 评论 -
DataStream API【1】
在Flink中,用户也可以自定义数据源,以满足不同数据源的接入需求。自定义数据源有3种方式:1)实现SourceFunction接口定义非并行数据源(单线程)。SourceFunction是Flink中所有流数据源的基本接口。2)实现ParallelSourceFunction接口定义并行数据源。3)继承RichParallelSourceFunction抽象类定义并行数据源。原创 2023-01-30 15:31:04 · 320 阅读 · 0 评论