gpt4 book ai didi

java - apache flink可以用来智能连接巨大的非实时数据吗?

转载 作者:行者123 更新时间:2023-12-02 11:59:38 26 4
gpt4 key购买 nike

我应该通过一些公共(public)键将一些巨大的 SQL 表与一些 REST 服务的 json 连接起来(我们正在讨论带有一些 REST 服务调用的多个 SQL 表)。问题是这些数据不是实时/无限流,而且我也不认为我可以通过连接列对 REST 服务的输出进行排序。现在,愚蠢的方法是获取所有数据,然后匹配行,但这意味着将所有内容存储在内存/某些存储中,例如 Cassandra 或 Redis。

但是,我想知道 flink 是否可以使用一些流窗口之王来加入 X 元素(所以实际上只是将这些元素存储在 RAM 中),但也存储不匹配的元素以便以后以某种方式进行匹配 HashMap 。这就是我所说的智能加入。

最佳答案

细节决定成败,但是,原则上,这种数据丰富在 Flink 中是完全可行的。您的要求并不完全清楚,但我可以提供一些指导。

对于初学者,您需要熟悉 Flink 的 managed state接口(interface)。使用这些接口(interface)将确保您的应用程序具有容错性、可升级性、可重新扩展性等。

如果您只想预加载一些数据,那么您可以使用 RichFlatmap 并在 open() 方法中加载数据。在你的情况下 CoProcessFunction可能更合适。这是一个具有两个输入的流操作符,可以保存状态并且还可以访问计时器(可用于使不再需要的状态过期,并在等待无序数据到达后发出结果)。

Flink 还支持 asynchronous i/o ,这可以使与外部服务的合作更加高效。

也可以考虑使用 Flink 的更高级别来解决这个问题 SQL and Table APIs ,通过将 REST 服务调用包装为 user-defined functions

关于java - apache flink可以用来智能连接巨大的非实时数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47361657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com