0

我有一个用例,我想使用 Flink 构建一个实时决策树评估器。我有一个类似于下面的决策树: 决策树示例


Root Node(Product A)---- Check if price of Product A increased by $10 in last 10mins

----------------------------
If Yes --> Left Child of A(Product B) ---> check if price of Product B increased by $20 in last 10mins ---> If not output Product B

----------------------------
If No ---> Right Child of A(Product C) ---> Check if price of Product C increased by $20 in last 10mins ---> If not output Product C

注意:这只是一个决策树的示例,我有多个这样的决策树,它们具有不同的产品类型/节点数和不同的条件。想写一个通用的 Flink 应用来评估所有这些。

现在在输入中,我每 1 分钟得到一个输入数据流,其中包含所有产品类型(A、B 和 c)的价格。为了实现我的用例,我能想到的一种方法如下:

  1. 按产品类型过滤输入流
  2. 对于每种产品类型,根据每分钟触发的产品类型,在过去 X 分钟内使用滑动窗口
  3. 处理窗口功能,用于检查特定产品类型的价格差异,并在输出流中输出每种产品类型的价格差异。

现在我们有了树的每个产品类型/节点的价格差异,然后我们可以评估决策树逻辑。现在要做到这一点,我们必须确保在确定输出之前必须完成决策树中所有产品类型(上例中的产品 A、B 和 C)的价格差异计算处理。一种方法是将所有这些产品的输出从输出流存储到数据存储中,并每隔 5 秒左右从 ec2 实例检查所有这些价格计算是否完成。完成后,执行决策树逻辑以确定输出产品。

想了解是否有任何其他方式可以在 Flink 本身中完成整个计算而不需要任何其他组件(数据存储/EC2)。我对 Flink 还很陌生,所以任何线索都将受到高度赞赏!

4

0 回答 0