我正在开发基于Apache的金融反欺诈系统。我需要根据金融交易来计算许多不同的总和。我使用Kafka作为流数据源。例如,在平均事务量计算中,我使用MapState存储每张卡的总事务数和总金额。聚集数据存储在Accumulo中。我知道Flink中的持久状态,但这不是我所需要的。在计算开始之前,是否有方法将初始数据加载到Flink中?是否可以使用两个连接的流与Accumulo的数据一起使用最新的计算聚合和事务流?事务流是无限的,由聚合流不是。我该往哪条路挖?任何帮助都是非常感谢的。
我考虑过AsyncIO,但是状态不能与异步函数一起使用。我的想法是:检查内存状态下的聚合。如果这里没有卡的数据-代码调用存储服务,从它获取数据,在内存状态中执行计算和更新,因此,该卡的下一个事务不需要通过调用外部数据服务来处理。但我认为这是个大瓶颈。
发布于 2017-08-19 08:00:22
你可以试试这个方法:
TASK::setInitialState
TASK::invoke
create basic utils (config, etc) and load the chain of operators
setup-operators
task-specific-init
initialize-operator-states
open-operators
run
close-operators
dispose-operators
task-specific-cleanup
common-cleanuphttps://stackoverflow.com/questions/45759137
复制相似问题