Apache Flink通过从检查点恢复作业,确保故障和恢复时只进行一次处理,检查点是分布式数据流和操作员状态的一致快照(分布式快照的Chandy Lamport算法)。这保证了故障切换时只需一次。 在正常集群操作的情况下,Flink如何保证只进行一次处理,例如给定一个从外部源读取的Flink源(例如Kafka),Flink如何保证从源读取一次事件?事件源和Flink源之间是否有任何类型的应用程序
以下用例的最佳实践建议是什么?我们需要将流与一组“规则”相匹配,这些规则本质上是Flink数据集的概念。可以对此“规则集”进行更新,但并不频繁。必须根据“规则集”中的所有记录检查每个流事件,并且每个匹配将生成一个或多个事件到接收器数据流中。规则集中的记录数在6位数范围内。 目前,我们只是将规则加载到本地规则列表中,并在传入的数据流上使用flatMap。在flatMap中,我们只是在一个列表上迭代,
这是关于一个flink作业,它有一个简单的源来从url中获取数据,然后过滤数据,然后在一个进程函数中收集数据一段时间(keyBy),最后在一个映射中处理收集到的数据。由于某些原因,即使flinkUI显示它正在运行,作业在几天后也会停止运行。有没有办法知道为什么会有这样的行为,也有没有办法知道一个作业实际上是否已经停止,即使UI显示它正在运行。 附言:我怎么知道工作已经停止了??答:它没有执行它正在
我试图向运行在Kubernetes集群上的Flink作业管理器发送post请求。当为不需要任何命令行参数的类发送/jar/run的post请求时,它工作得很好。但是,当尝试在同一个jar中提交需要命令行参数的不同类时,会出现以下错误。-:<代码>{“errors”:[“请求与预期格式JarRunRequestBody不匹配。”]} 但是,在传递命令行参数并直接提交作业时,请执行以下操作-: 要将上
众所周知,Flink有两个核心API(数据流/数据集),但当我使用Flink Sql客户端提交作业时,我不需要选择流或批处理模式。所以,Flink SQL客户机是如何决定使用批处理模式和流模式的。我在官方文件中没有找到答案。所以,我想知道Flink SQL客户端如何区分批处理模式和流模式?
我有一个flink作业,它使用logback作为日志框架,因为日志需要发送到logstash,logback有一个logstash appender(logstash logback appender)。appender工作正常,当flink作业从Eclipse这样的IDE运行时,我可以在logstash中看到应用程序日志。日志记录配置文件logback。xml放在src/main/resourc
我正在学习Flink框架并从事流式作业,该作业将从csv文件中读取数据并使用DataStream API执行一些聚合。数据字段包括城市、州代码、人口值。数据将由州代码键控,并计算每个键的人口总和。输出将采用该格式:(州代码,人口总和)。 我当前的实现使用KeyedStream上的reduce函数来聚合总体。这给了我每个关键点的滚动减少。我只想打印每个键的最后一个和。我的理解是,为了在每个窗口中发出
我必须从Postgres表中读取配置并广播它,以使用它过滤主数据流。我正在使用Flink广播状态进行此操作。当我从本地套接字获取配置时,它工作得很好。 用例是在Flink作业中从Postgres读取最新配置,而无需重新启动作业。 我们可以从Postgres表创建Flink数据流吗?如果可能的话,它是否有效,因为它将永远保持JDBC连接的活性?
尝试使用Apache Flink从Cassandra获取数据,引用本文,我可以读取数据,但我不知道如何将其加载到DataStream对象中。代码如下: 我试过了 将变量中的数据加载到数据流中
我有一个flink在单个路径中处理csv文件的流式处理。我想知道每个处理文件的文件名。 我目前正在使用此功能将csv文件读取到路径(dataPath)中。 并使用此函数获取TupleCsvInputFormat。 进程运行正常,但我找不到方法来获取每个csv文件的文件名。 提前谢谢
我正在使用flink从定期附加数据的文件中连续读取数据。我尝试在flink中使用readFile方法。但对如何在该方法的参数中提及FileInputFormat感到困惑。我的文件格式是json。有人能帮我吗?。谢谢
我用Flink编写了一个小测试用例代码来对数据流进行排序。代码如下: 然而,代码只输出执行计划和其他几行。但它不会输出实际排序的数字。我做错了什么?
我想加入一个大表,不可能包含在TM内存和流(kakfa)中。我在测试中成功加入了这两个表,将table-api与datastream api混合在一起。我做了以下操作: 它正在工作,但我从未见过这种类型的实现。可以吗?缺点是什么?
我想像这样在中使用一个不可序列化的对象 它非常低效,因为我创建了许多实例。实际上,它只能在每个工作器中创建一次。 在Spark中,我可以使用mapPartition来执行此操作。但在flink stream api中,我不知道。
在java中运行flink scala REPL脚本时无法编译。 我尝试了这段java代码来运行Flink scala REPL进行测试,bug总是异常。 scala文字 结果1 结果2 结果3