每天,我们都会从后台应用程序中接收一组新的数据文件。该应用程序无法产生增量变更集,因此它所能做的就是将其转储到大文件中。
当前每天早晨,我们删除旧的MySQL表并将数据加载到uor数据库中。
我们遇到的问题之一是,我们无法对数据中的特定更改采取行动,而且我们正在使用CQRS,如果有了增量列表,这将带来很多好处。
当我们收到新数据时,我们将计算出差异,并针对每一次更改(如果存在rowidentifier),添加或删除的行将消息推送到Kafka。
所以主要问题是,比较这两个大文件并创建增量集的最佳方法是什么?我们需要它要快,最好在一个小时内或接近它。
是否存在本身具有此功能的数据库类型?是否有可以为我们做到这一点的技术?
答案 0 :(得分:1)
“ ...数据顺序不固定。行可能会切换位置...”这使操作变得困难。如果行没有更改,则git diff
或文本文件比较工具将起作用。
Spitballing在这里,但是:
可能可以通过AWS Glue ...
奖金: 为了更轻松地创建位置,后台应用可以上传文件并创建cron以在给定时间处理报告
此过程是典型的ETL (Extract-Transform-Load)任务。您正在从一种源/格式中提取数据,进行更改,然后将其加载/插入到另一种源/格式中。
让我知道这是否有帮助。