
Flink
文章平均质量分 74
逆水行舟如何
热爱开源,喜欢去研究各种源码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flink 维表关联
但是,当我们的流计算数据过大,会对外 部系统带来巨大的访问压力,一旦出现比如连接失败、线程池满等情况,由于我们是同步调用,所以一般会导致线程阻塞、Task 等待数据返回,影响整体任务的吞吐量。利用 Flink 的 RichAsyncFunction 读取 mysql 的数据到缓存中,我们在关联维度表时先去查询缓存,如果缓存中不存在这条数据,就利用客户端去查询 mysql,然后插入到缓存中。原创 2023-10-24 15:49:49 · 851 阅读 · 0 评论 -
Flink Exactly-once 实现原理解析
通常情况下,流式计算系统都会为用户提供指定数据处理的可靠模式功能,用来表明在实际生产运行中会对数据处理做哪些保障,Flink提供了Exactly-once语义来保障我们的流任务数据处理的精准一致性原创 2022-10-24 22:57:50 · 1855 阅读 · 1 评论 -
Flink中Watermark的理解
1、案例(为什么要有watermark)在理解Watermark之前我们先看个案例我们有一个带有时间戳的事件流,这些事件并不是按顺序到达的。图中的数字表示事件发生的时间。第一个事件在时间4到达,后面跟着一个发生时间更早的事件(时间2),以此类推 注意这是一个基于事件时间处理的例子,这意味着时间戳反映的是事件发生的时间,而不是事件处理的时间。基于事件时间处理的强大之处在于创建流处理程序无论是处理实时的数据还是重新处理历史的数据,都能保证结果的一致。需求:将收集到的数据流按照事件时间排序?说原创 2020-12-14 17:07:18 · 744 阅读 · 0 评论 -
Flink流处理计算平均温度案例
功能:模拟实时统计,将华氏换算成摄氏度并计算每秒的平均温度。1、用于保存SensorReading数据的案例类SensorReading.scalapackage io.github.streamingwithflink.util/** Case class to hold the SensorReading data. */case class SensorReading(id: String, timestamp: Long, temperature: Double)2、自定义..原创 2020-05-26 17:39:54 · 1349 阅读 · 0 评论 -
Flink的基础概念
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。主要分享Flink时间语义、状态与检查点等核心概念1、时间语义 在流处理中,时间是一个非常核心的概念,是整个系统的基石。比如,我们经常会遇到这样的需求:给定一个时间窗口,比如一个小时,统计...原创 2020-04-28 14:38:43 · 977 阅读 · 0 评论 -
Flink配置文件详解
我们先来安装路径下的配置文件吧 安装目录下主要有 flink-conf.yaml 配置、日志的配置文件、zk 配置、Flink SQL Client 配置。1、Flink-conf.yarml基础配置# jobManager 的IP地址jobmanager.rpc.address: localhost# JobManager 的端口号jobmanager.rpc.p...原创 2019-08-30 10:25:16 · 1663 阅读 · 0 评论 -
Flink之window函数详解
1、官网:https://ci.apache.org/projects/flink/flink-docs-release-1.7/concepts/programming-model.html#windows (建议大家多看看官网)2、什么是Window Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,...原创 2019-07-31 10:54:17 · 842 阅读 · 0 评论 -
Flink状态(State)管理和恢复原理解析
一、状态(State) 1、介绍 我们在前面写的word count的例子(上篇博客中有的),没有包含状态管理。如果一个task在处理过程中挂掉了,那么它在内存中的状态都会丢失,所有的数据都需要重新计算。从容错和消息处理语义上(at last once,exactly once),从而Flink引入了state和checkpoint。 St...原创 2019-05-30 14:40:48 · 4156 阅读 · 2 评论 -
Flink DataStream API 之 DataSource
Flink API的抽象级别1、概述 source是程序的数据源输入,你可以通过StreamExecutionEnvironment.addSource(sourceFunction)来为你的程序添加一个source。 flink提供了大量的已经实现好的source方法,你也可以自定义source 通过实现sourceFunction接口...原创 2019-05-07 19:04:09 · 963 阅读 · 0 评论 -
Flink版WordCount(Streaming and Batch)
Flink 程序开发步骤1:获得一个执行环境2:加载/创建 初始化数据3:指定操作数据的transaction算子4:指定把计算好的数据放在哪5:调用execute()触发执行程序注意:Flink程序是延迟计算的,只有最后调用execute()方法的时候才会真正触发执行程序。延迟计算好处:你可以开发复杂的程序,但是Flink可以将复杂的程序转成一个Plan,将Plan作...原创 2019-05-06 18:58:15 · 676 阅读 · 0 评论 -
Flink数据流编程模型
一、抽象级别 Flink提供了不同级别的抽象,以开放流或批处理作业 1、 Stateful Stream Processing : 有状态流 它是通过将过程函数(Processing Function)被嵌入到DataStream API中,它允许用户可以自由地处理来自一个或多个数据流的事件,并使用一致的容错的状态。除此之外,用户可以注册事件时...原创 2019-04-09 19:29:25 · 398 阅读 · 0 评论 -
深入理解Flink的核心技术
Flink简介 Flink的核心是一个流式的数据流执行引擎,其针对数据流的分布计算提供了数据分布,数据通信以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任务:DataSet API:对静态数据进行批操作,将静态数据抽象成分布式的数据集,用户可以方便的采用Flink提供的各种操作符对分布式数据集进行各种操作,支持Java,Sca...原创 2019-04-01 19:33:33 · 620 阅读 · 0 评论