我的挑战:
- 我们每天都会收到大约 200.000 条记录的文件。我们将文件保留大约 1 年,以支持重新处理等。
- 为便于讨论,假设它是某种持久的履行过程,具有与记录相关的供应 ID。
- 我们需要在这些文件中识别灵活的模式,并触发事件
- 典型的问题是:
- 如果记录 A 后面跟着记录 B 后面跟着记录 C,并且所有记录都发生在 60 天内,则触发事件
- 如果找到记录 D 或记录 E,但记录 F 在 30 天内没有出现,则触发事件
- 如果同时找到记录 D 和记录 E(无论顺序如何),然后在 24 小时内...,然后触发事件
- 某些模式需要在 DB/NoSql 中查找或连接以获取其他信息以选择记录或放入事件中。
- “选择记录”可以是简单的“field-A equals”,也可以是“field-A in []”或“filed-A match”或“func identify(field-A, field-B)”
- “天”也可能是“小时”或“上个月”。因此比“天”更灵活。通常我们在记录中有一些日期/时间戳。最大值目前是“6 个月内”(在设置阶段取消)
- 创建的事件(最好是 JSON)需要包含来自所有记录的数据,这些记录是选择过程的一部分。
- 我们需要一种允许灵活更改(添加、修改、删除)模式的方法,可选择重新处理输入文件。
关于如何优雅地解决问题的任何想法?可能是一些 python 或 java 框架,或者任何公共云解决方案(AWS、GCP、Azure)是否特别好地解决了问题空间?
非常感谢你的帮助