
Flink
文章平均质量分 79
Flink
Cym02
才疏学浅 欢迎大家一起沟通,讨论
展开
-
SparkStreaming与Flink的区别 (面试层面~)
对于 Spark Streaming 任务,我们可以设置 checkpoint,然后假如发生故障并重启,我们可以从上次 checkpoint 之处恢复,但是这个行为只能使得数据不丢失,可能会重复处理,不能做到恰好一次处理语义。事件驱动的应用程序是一种状态应用程序,它会从一个或者多个流中注入事件,通过触发计算更新状态,或外部动作对注入的事件作出反应。Spark Streaming 是微批处理,运行的时候需要指定批处理的时间,每次运行 job 时处理一个批次的数据。原创 2022-11-24 10:37:23 · 807 阅读 · 1 评论 -
Flink 中的Physical partitioning(物理分区)及示例代码
Flink通过以下方法对转换后的确切流分区进行了低级控制。Rebalancing(Round-robin partitioning)分区元素循轮询,为每个分区创建相等的负载。有助于在数据不对称的情况下优化性能。在存在数据偏斜的情况下对性能优化有用。val env =StreamExecytionEnvironment.getExecutionEnvionment env.socketTe...原创 2020-05-04 21:10:03 · 646 阅读 · 0 评论 -
Flink 中Operators(操作符)及示例代码
Transformations(转换)DataStream → DatasTREAMMap获取一个元素并生成一个元素。将输入流的值加倍的映射函数:dataStream.map( x => x * 2)FlatMap接受一个元素并生成零个、一个或多个元素。将句子分割成单词的平面图功能:dataStream.flatMap(str => str.split(" "))F...原创 2020-05-04 20:17:58 · 457 阅读 · 0 评论 -
Flink 中的 Window Function(窗口函数)及示例代码
Window Functions定义窗口分配器后,我们需要指定要在每个窗口上执行的计算。这是Window Fucntion的职责,一旦系统确定窗口已准备好进行处理,就可以处理每个窗口的元素。窗口函数可以是ReduceFunction,AggregateFunction,FoldFunction,WindowFunction或ProcessWindowFunction之一。前两个可以更有效地执...原创 2020-05-04 16:46:29 · 3151 阅读 · 1 评论 -
Flink 中的 Window Assigners(窗口分配器)
Window Assigners指定流是否为keyed之后,下一步是定义Window Assigner。Window Assigners定义了如何将元素分配给Window。这是通过window (…)(对于keyed流)或windowAll()(对于非keyed流)调用中指定您选择的WindowAssihner来完成的。WindowAssigner负责将每个传入元素分配给一个或多个窗口。Fli...原创 2020-05-02 21:43:03 · 1624 阅读 · 0 评论 -
Flink 中Join操作概念及 示例代码
Window Join窗口join将共享相同key并位于同一窗口中的两个流的元素连接在一起。可以试用WindowAssigner定义这些窗口,并根据两个流的元素对其进行评估。然后将双方的元素传递到用户定义的JoinFunction或FlatJoinFunction,在此用户可以发出满足连接条件的结果。代码如下streamA.join(streamB) .where(<KeySelec...原创 2020-04-30 23:09:55 · 864 阅读 · 0 评论 -
Flink 中的EventTime详细概念 及示例代码
Flink时间窗口的计算中,支持多种时间的概念:Processsing,IngestionTime,EventTime。如果在Flink中用户不做任何设置,默认使用的是ProcesssingTime,其中ProcesssingTime,IngestionTime都是由计算节点产生。不同的是IngestionTime是DataSource组件在产生记录的时候指定时间,而ProcesssingTi...原创 2020-04-29 22:22:34 · 4198 阅读 · 0 评论 -
Flink 中的 Evictors(剔除器) 部分源码剖析 及示例代码
Flink的窗口模型允许除了WindowAssigner和Trigger之外还指定一个可选的Evictou。可以试用evictor(…)方法来完成此操作。Evictor可以在Trigger处罚后,应用Window Function之前或之后从窗口中删除元素。源码:public interface Evictor<T, W extends Window> extends Serial...原创 2020-04-29 21:33:00 · 282 阅读 · 0 评论 -
Flink中 的 Managed Keyed State 概念及示例代码
Managed Keyed StateManaged Keyed State接口提供不同类型的状态的访问,所有状态都限于当前输入元素的key。这意味着只能在KeyedStream上使用这种类型的状态。用户可以通过stream.keyBy(...)创建,flink内建了以下六种的state。ValueState<T>:使用场景:该状态主要用于存储单一状态值。保留了一个可以更新...原创 2020-04-26 11:26:34 · 417 阅读 · 0 评论