我正在学习和评估sparks和Flink,然后选择其中一个来完成我的项目。
在我的评估中,我想出了以下简单的任务,我可以弄清楚如何在两个框架中实现它。
我们说
1- /我有一个事件流,它们只是关于某个项目在数据库中某处发生变化这一事实的信息。
2- /我需要每个事件,查询数据库以获取项目的新版本3- /应用一些转换
4- /连接到另一个Db并写出结果。
我的问题如下:
使用Flink或Sparks,如何确保对dbs的调用是异步处理以避免线程饥饿?
我来自scala / Akka,我们通常会避免进行阻止调用,并在此类情况下使用未来的所有方法。 Akka流允许流处理的细粒度细节,例如Integrating stream with external service。这可以避免线程饥饿。当我在我的io操作中等待时,该线程可以用于其他东西。
简而言之,我不知道如何在两个框架中使用期货。
所以我相信这可以用两个框架重现。
任何人都可以解释一下这应该如何在Flink或火花中处理。
如果不支持开箱即用,那么是否有人有过以某种方式将其合并的经验。