文章目录一. Flink概述1.1 Flink历史1.2 Flink简介1.3 Flink特点1.3.1 批处理 & 流处理批处理流处理无界流有界流1.3.2 事件驱动型(Event-driven)1.3.3 分层ProcessFunctionDataSteam DataSetTable API 一. Flink概述1.1 Flink历史Flink起源于 Stratosphere 项目
转载
2024-02-29 09:51:38
31阅读
# 使用 Flink 添加 Redis 作为数据源
Apache Flink 是一个用于处理和分析大规模数据流的流处理框架。它提供了丰富的 API 和工具,可以帮助我们轻松地处理数据流。在实际的应用中,我们经常需要从外部系统中获取数据,并将其用作 Flink 的输入。本文将介绍如何使用 Flink 添加 Redis 作为数据源,并展示相应的代码示例。
## Redis 简介
Redis 是一
原创
2024-02-03 11:46:05
53阅读
在flink中,转换算子是无法访问事件的时间戳信息和水位线信息的。所以! flink提供了一些列的Low-Level转换算法,他们可以访问时间戳,watermark以及注册定时器。总结:ProcessFunction可以被认为是一种提供了对状态和定时器访问的FlatMapFunction,没接收到一个数据流都会进行处理,可以通过访问时间戳来进行设置定时器等操作。 
转载
2024-03-19 21:24:24
142阅读
对一个互联网产品来说,典型的风控场景包括:注册风控、登陆风控、交易风控、活动风控等,而风控的最佳效果是防患于未然,所以事前事中和事后三种实现方案中,又以事前预警和事中控制最好。这要求风控系统一定要有实时性。本文就介绍一种实时风控解决方案。1.总体架构风控是业务场景的产物,风控系统直接服务于业务系统,与之相关的还有惩罚系统和分析系统,各系统关系与角色如下: 业务系统,通常是APP+后台
Flink 提供了 Exactly-Once 语义,这是一种高度可靠的流式数据处理保障,确保每个事件都会被处理一次且仅一次,即使在发生故障或重启时也是如此。这种语义对于许多关键应用程序,如金融交易和事件驱动型应用程序,至关重要。要实现 Flink 的 Exactly-Once 语义,需要采取以下关键措施:Stateful Stream Processing: 确保作业是有状态的,这意味着在处理事件
一、addSource & fromSource 、addSink & SinkTo
这两组算子区别在于:addSource和addSink需要自己实现SourceFunction或者是SinkFunction,其中读取数据的逻辑,容错等都需要自己实现;fromSource和SinkTo,是flink提供的简易的
转载
2024-03-13 15:35:11
653阅读
1.1 Data Source数据源在实时计算DataStream API中,Source是用来获取外部数据源的操作,按照获取数据的方式,可以分为:基于集合的Source、基于Socket网络端口的Source、基于文件的Source、第三方Connector Source和自定义Source五种。前三种Source是Flink已经封装好的方法,这些Source只要调用StreamEx
转载
2023-06-04 16:29:06
271阅读
转换算子一个流的转换操作将会应用在一个或者多个流上面,这些转换操作将流转换成一个或者多个输出流,将这些转换算子组合在一起来构建一个数据流图。大部分的数据流转换操作都是基于用户自定义函数udf。udf函数打包了一些业务逻辑并定义了输入流的元素如何转换成输出流的元素。像MapFunction这样的函数,将会被定义为类,这个类实现了Flink针对特定的转换操作暴露出来的接口。DataStream API
背景Async I/O 是阿里巴巴贡献给社区的一个呼声非常高的特性,于1.2版本引入。主要目的是为了解决与外部系统交互时网络延迟成为了系统瓶颈的问题。流计算系统中经常需要与外部系统进行交互,比如需要查询外部数据库以关联上用户的额外信息。通常,我们的实现方式是向数据库发送用户a的查询请求,然后等待结果返回,在这之前,我们无法发送用户b的查询请求。这是一种同步访问的模式,如下图左边所示。图中棕色的长条
转载
2024-09-20 19:30:51
95阅读
序本文主要研究一下flink如何兼容StormTopology实例@Test
public void testStormWordCount() throws Exception {
//NOTE 1 build Topology the Storm way
final TopologyBuilder builder = new TopologyBuild
转载
2024-05-31 11:58:25
140阅读
overview解读Flink 1.5版本的“task本地恢复”feature的实现。随着时间的推移,Flink有些模块的代码复杂度已经很高了(比较典型的就是状态&容错这块)。因为考虑到兼容历史实现的问题,类在快速增长。实现关于本地恢复的配置,封装在名为LocalRecoveryConfig的类中,该类可提供本地恢复模式的查询(也即LocalRecoveryMode枚举)以及本地恢复目录提
转载
2024-04-09 10:25:11
25阅读
Flink 可以从各种来源获取数据,然后构建 DataStream 进行转换处理。一般将数据的输入来源称为数据源,而读取数据的算子就是源算子(Source)。所以,Source 就是我们整个处理程序的输入端。Flink 代码中通用的添加 Source 的方式,是调用执行环境的 addSource()方法://通过调用 addSource()方法可以获取 DataStream 对象
val stre
转载
2023-09-15 23:21:48
74阅读
摘要:本文整理自快手实时计算团队技术专家张静、张芒在 Flink Forward Asia 2021 的分享。主要内容包括:Flink SQL 在快手功能扩展性能优化稳定性提升未来展望一、Flink SQL 在快手经过一年多的推广,快手内部用户对 Flink SQL 的认可度逐渐提高,今年新增的 Flink 作业中,SQL 作业达到了 60%,与去年相比有了一倍的提升,峰值吞吐达到了 6 亿条/秒
转载
2024-08-20 00:23:15
33阅读
本文主要介绍 Flink 的状态管理,非常实用。过去无论是在生产中使用,还是调研 Apache Flink,总会遇到一个问题:如何访问和更新 Flink 保存点(savepoint)中保存的 state?Apache Flink 1.9 引入了状态处理器(State Processor)API,它是基于 DataSet API 的强大扩展,允许读取,写入和修改 Flink 的保存点和检查点(che
转载
2024-04-27 23:25:36
65阅读
运行flink streaming程序报错:报错信息如下:Error:(21, 18) not enough arguments for method addSource: (implicit evidence$9: org.apache.flink.api.common.typeinfo.TypeInformation[String])org.apache.flink.streaming.api.scala.DataStream[String].Unspecified value parameter
原创
2021-06-21 15:52:22
1025阅读
运行flink streaming程序报错:报错信息如下:Error:(21, 18) not enough arguments for method addSource: (implicit evidence$9: org.apache.flink.api.common.typeinfo.TypeInformation[String])org.apache.flink.streaming.api.scala.DataStream[String].Unspecified value parameter
原创
2022-01-07 16:32:19
272阅读
目录 流处理API一、Environment1.1 getExecutionEnvironment1.2 createLocalEnvironment1.3 createRemoteEnvironment二、Source 2.1 从集合读取数据 2.2 从文件读取数据2.3 以 kafka 消息队列的数据作
转载
2024-08-29 13:38:16
82阅读
概念Flink 中的 DataStream 程序是对数据流进行转换(例如过滤、更新状态、定义窗口、聚合)的常规程序。数据流最初是从各种来源(例如,消息队列、套接字流、文件)创建的。结果通过接收器返回,例如可以将数据写入文件或标准输出(例如命令行终端)。Flink 程序可以在各种上下文中运行,可以独立运行,也可以嵌入到其他程序中。执行可以在本地 JVM 中发生,也可以在许多机器的集群上发生。 Dat
转载
2024-03-23 09:02:01
65阅读
概述Flink使用 DataSet 和 DataStream 代表数据集。DateSet 用于批处理,代表数据是有限的,而 DataStream 用于流数据,代表数据是无界的。数据集中的数据是不可以变的,也就是说不能对其中的元素增加或删除。我们通过数据源创建 DataSet 或者 DataStream ,通过 map,filter 等转换(transform)操作对数据集进行操作产生新的数据集。编
转载
2024-05-04 14:15:14
24阅读
状态一致性 之前说到检查点又叫作“一致性检查点”,是Flink容错机制的核心。接下来就对状态一致性的概念进行说明,结合理论和实际应用场景,讨论Flink流式处理架构中的应对机制。一、一致性的概念和级别 在分布式系统中,一致性(consistency)是一个非常重要的概念;在事务(transaction)中,一致性也是重要的一个特性。Flink中一致性的概念,主要用在故障恢复的描述中,所以更加类
转载
2024-09-24 14:55:30
22阅读