当前位置: 首页 > 知识库问答 >
问题:

如何访问从外部Flink作业计算的状态?(不知道其id)

郗丰
2023-03-14

我是Flink的新手,目前正在测试用例框架,该用例包含丰富来自Kafka的事务,并具有许多历史特征(例如,相同源和相同目标之间过去的事务数),然后使用机器学习模型对该事务进行评分。

目前,功能都保留在Flink状态中,同一个工作是对丰富的事务进行评分。但是我想将特征计算工作与评分工作分开,我不知道如何做到这一点。

>

我曾想过直接查询RocksDB,但也许有更简单的方法

对Flink来说,将这项任务分成两份工作是个坏主意吗?我们对Kafka流进行同样的测试,以避免复杂的作业(并检查它是否对延迟有任何积极影响)

一些额外信息:我正在使用Flink 1.3(但如果需要的话愿意升级),代码是用Scala编写的

提前感谢您的帮助!

共有1个答案

司徒捷
2023-03-14

像Kafka这样的东西很适合这种脱钩。通过这种方式,您可以有一个作业来计算特性并将其流式输出到Kafka主题,该主题由评分作业使用。(旁白:这样做可以很容易地运行几个不同的模型并比较它们的结果。)

有时使用的另一种方法是调用外部API进行评分。html" target="_blank">异步I/O在这里可能很有用。至少有几个小组正在使用流SQL计算特性,并将外部模型评分服务包装为UDF。

如果您确实想使用可查询状态,您可以使用Flink的REST api来确定作业ID。

在Flink Forward会议上,有几次关于与Flink一起使用机器学习模型的会谈。举个例子:ING的Fast Data–与Flink和Kafka一起构建流式数据平台。

社区正在努力使这一切变得更容易。有关详细信息,请参见FLIP-23-型号服务。

 类似资料:
  • 问题内容: 我想使用React.js制作一个应用程序。我希望它可以轻松地从外部进行自定义(例如,通过编写用户脚本)。我尝试使用的想法是在根元素状态(如或)中创建一些特殊的属性,以便插件开发人员可以在此处添加一些内容。我的问题是:这是否是一个好方法,是否有Right Way™实现与我的目标相似的目标,最后,插件开发人员将如何使用这些道具? 问题答案: 一种选择是可观察的。基本上,它是一个对象,您可以

  • PS:我们可以将flink状态存储在dynamoDB中,并在那里创建一个API吗?还是以任何其他方式坚持和向外部世界揭露国家?

  • 问题内容: 如何从命令行(redis-cli)知道redis的状态?主从 问题答案: 该INFO命令返回当前的角色。 例如/如果我们是主人 除了其他细节外,还将显示。 如果我们切换到一个slave,也许可以使用slaveof: 当我们运行INFO时,我们得到的更多: 编辑:这是一个简洁的cli命令,如Linus所示(但刚刚删除了他的帖子): :)

  • 我想在状态尚未装入时访问状态的属性。 我想做4,但得到以下错误: P. S也不起作用。

  • 我使用Apache Flink 1.9和标准检查点/保存点机制来FS。 我的问题是:如果作业的代码发生了更改,从保存点恢复作业的正确方法是什么?例如,在重构之后,我重命名了几个类,之后我无法从旧的检查点恢复。 我丢失了我的数据,想问-在这种情况下我能做些什么? 所有运算符都有uid和name

  • 我有一个Jenkins管道工作,它被配置为检查一个git回购和一个特定的本地分支。 两个值都为“null”