首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问从外部Flink作业中计算出来的状态?(不知道其身份)

如何访问从外部Flink作业中计算出来的状态?(不知道其身份)
EN

Stack Overflow用户
提问于 2018-02-02 10:11:44
回答 1查看 420关注 0票数 0

我刚接触过Flink,目前正在测试一个实用程序的框架,该框架包括丰富来自Kafka的具有许多历史特性的事务(例如,相同来源和相同目标之间过去的事务数),然后使用机器学习模型对此事务进行评分。

目前,功能都保持在Flink状态,相同的工作是对丰富的事务进行评分。但是我想把功能计算工作和评分工作分开,我不知道如何做到这一点。

  1. 可查询状态似乎不适合这一点,因为工作id是必要的,但告诉我,如果我错了!
  2. 我考虑过直接查询RocksDB,但也许还有更简单的方法吗?
  3. 对Flink来说,将两份工作分开是个坏主意吗?为了避免复杂的作业(并检查它是否对延迟有任何积极的影响),我们采用这种方法对Kafka流进行相同的测试。

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

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-02 19:19:33

像卡夫卡这样的东西可以很好地解决这种脱钩问题。这样,您就可以有一项工作来计算功能,并将其流出卡夫卡主题,该主题是完成评分的工作所消耗的。(旁白:这将使运行几个不同的模型并比较它们的结果这样的事情变得容易。)

有时使用的另一种方法是调用外部API进行评分。异步I/O在这里可能会有所帮助。至少有几个组使用流SQL来计算特性,并将外部模型评分服务包装为UDF。

如果您确实想使用queryable状态,可以使用使用Flink的REST确定作业id

在Flink前进会议上,有几次关于使用Flink机器学习模型的会谈。举一个例子:ING的快速数据--用Flink和Kafka构建一个流数据平台

社区正在努力使这一切变得更容易。详情请参见FLIP-23 -模型服务

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48580372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档