Amazon dynamodb 从flink群集外部访问flink状态的方法有哪些?
我刚刚接触ApacheFlink,正在构建一个简单的应用程序,在这个应用程序中,我从一个动觉流中读取事件,比如Amazon dynamodb 从flink群集外部访问flink状态的方法有哪些?,amazon-dynamodb,apache-flink,flink-streaming,flink-cep,Amazon Dynamodb,Apache Flink,Flink Streaming,Flink Cep,我刚刚接触ApacheFlink,正在构建一个简单的应用程序,在这个应用程序中,我从一个动觉流中读取事件,比如 TestEvent{ String id, DateTime created_at, Long amount } 对上面由id键入的流上的字段金额执行聚合求和。该转换相当于SQL select sumamount from testevents group by id,其中testevents是迄今为止接收到的所有事件。 聚合结果存储在flink状态,我希望通过API公开结果
TestEvent{
String id,
DateTime created_at,
Long amount
}
对上面由id键入的流上的字段金额执行聚合求和。该转换相当于SQL select sumamount from testevents group by id,其中testevents是迄今为止接收到的所有事件。
聚合结果存储在flink状态,我希望通过API公开结果。有什么办法吗
PS:我们可以在dynamoDB中存储flink状态并在那里创建API吗?或者以任何其他方式将状态持久化并向外界公开?我建议暂时忽略状态,而将接收器视为流应用程序输出结果的主要方式 如果您已经在使用Kinesis进行输入,还可以使用Kinesis从Flink输出结果。然后,您可以使用AWS提供的DynamoDB的Kinesis适配器,如上所述
回到您最初的问题:您可以查询Flinks状态,并将RESTAPI与流应用程序一起发布,但这是实现目标所不需要的大量工作。您也可以通过stateAPI访问checkpointed/savepointed状态,但同样,这是一项相当多的手动工作,可以通过上面概述的常规路线来保存。这是Flink的文档,其中提供了一些用例 您还可以使用API脱机读取它