flink干什么用的(Flink系列之Flink的应用场景(一))

本文目录
Flink系列之Flink的应用场景(一)
DT时代,人们对于数据的要求越来越严格,从开始的 大数据 到现在慢慢转变成 快数据 ,我们很多公司都是基于Hadoop生态搭建自己的数据仓库,将不同源的数据按照一定的 周期 (时/天等)通过 ETL (提取,转换,加载)放到我们的数仓以供分析师使用,但是随着业务发展,我们不得不面对一个事实,我们上述做的都属于批处理,我们的分析师或者我们的业务需要实时的数据,那么在批处理转到流计算的时候,我们会面临很多很多问题,例如低延时、高吞吐、exactly-once、无序问题等等。Storm 实现了低延迟,还做不到高吞吐,也不能在故障发生时准确地处理计算状态;Spark Streaming通过采用微批处理方法实现了高吞吐和容错性,但是牺牲了低延迟和实时处理能力,也不能使窗口与自然时间相匹配,并且表现力欠佳。而flink就是目前为止的最佳答案。
我们在选择一个新的技术框架的时候,首先考虑的是他的应用场景,再牛逼的框架没有应用场景也是一无是处,当然牛逼的框架大多都是基于某一个或者某一类应用场景而产生,而flink主要应用于以下三个场景:
1.事件驱动型应用
2.数据分析型应用
3.数据管道 ETL
什么是事情驱动型应用?
定义:事件驱动型应用是一类具有状态的应用,该应用会根据事件流中的 事件 触发 计算 、 更新状态 或 进行外部系统操作 。
关键词: 事件 ----》状态----》外部系统
每条数据(事件)触发变化
例如:金融反欺诈,实施推荐,实施规则报警
在说这个之前,先说一下什么是分析,我们从事数据分析相关行业,有时候经常忘记分析本身到底是什么,下边是维基百科对于分析的定义
看到定义之后,再看我们工作中经常对各种数据按照不同维度拆分来分析数据代表的现象,来更好的理解数据,这是我们做数据分析的本质。
那么定义首先:
数据分析型应用是从原始 数据 中 提取 有价值的信息和指标,关键词:原始数据(集)、提取(过滤分析)
它的主要应用在于对数据集进行操作,重在分析
典行的数据分析型应用比如今年的疫情,我们会统计每天每地上传的信息,然后展示在包括支付宝等平台。
那事件驱动型应用和数据分析型应用有何本质区别?
简单总结一下:
数据触发计算会派发新的动作(状态/消息)
数据只是分析不派生新的动作(只是输出结果)
看到过很多大咖分享自己对于数据仓库ETL的看法,自己也做了一些数据仓库的工作,但是从来没有认真总结过,会在下一篇文章总结一下我对ETL的认知,也会谈一下最近新兴起的数据湖的看法。
以上
flink优势是什么有什么用
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。
flink Metrics及其使用
flink metric用来对外暴露系统内部的一些运行指标,比如flink框架运行时的JVM相关配置,或者基于flink开发的项目。
flink提供了Counter, Gauge, Histogram and Meter四种类型的指标。我们通过继承RichFunction拿到MetricGroup,并向其中填充指标。
Counter:
用与存储数值类型,比如统计数据输入、输出总数量。
Gauge:
可以用来存储任何类型,前提要实现org.apache.flink.metrics.Gauge接口,重写getValue方法,如果返回类型为Object则该类需要重写toString方法。
有些场景下,需要根据业务计算出指标,则Gauge使用起来更灵活。
Meter:
用来计算平均速率,直接使用其子类MeterView更方便一些。
以flink1.5的Kafka读取以及写入为例,添加rps、dirtyData等相关指标信息。�kafka读取和写入重点是先拿到RuntimeContex初始化指标,并传递给要使用的序列类,通过重写序列化和反序列化方法,来更新指标信息。
这样就可以在监控框架里面看到采集的指标信息了,比如flink_taskmanager_job_task_operator_dtDirtyData指标,dtDirtyData是自己添加的指标,前面的字符串是operator默认使用的metricGroup。
4、Flink 中水印是什么概念,起到什么作用
4、Flink 中水印是什么概念,起到什么作用?
答:Watermark 是 Apache Flink 为了处理 EventTime 窗口计算提出的一种机制, 本质上是一种时间戳。 一般来讲Watermark经常和Window一起被用来处理乱序事件。
Watermark 是一种衡量 Event Time 进展的机制,可以设定延迟触发
Watermark 是用于处理乱序事件的,而正确的处理乱序事件,通常用Watermark 机制结合 window 来实现;
数据流中的 Watermark 用于表示 timestamp 小于 Watermark 的数据,都已经到达了,因此,window 的执行也是由 Watermark 触发的。

更多文章:
cadence adc仿真(Cadence教程3——与非电路原理图仿真以及版图绘制)
2025年12月27日 10:15
电脑中recent是什么(请问我的电脑里C盘上recent里有很多快捷方式图标,它们有什么用,能删除吗)
2026年4月12日 09:15
安卓permission denied(adb 遇到 Permission denied)
2025年12月28日 14:30
excel函数公式大全讲解乘法(excel乘法公式,财务人士必看)
2025年6月28日 18:45
java开发工具包怎么查看(java.util.* 这一类的包在哪里能查看其内容和作用)
2026年3月19日 05:00
简易php聊天室(用php做的聊天室CPU占用很高怎么解决)
2025年11月20日 08:45
delphi源码特殊标记(在delphi里怎么快速将一段代码加成注释)
2026年8月27日 21:45
西门子plc编程软件是什么(西门子PLC编程软件是西门子通用软件吗)
2025年6月5日 19:00















