[请帮助我选择合适的工具。我有以下任务:有N个数据源(N <20),它可以是关系数据库(MySQL,PostgreSQL)或REST API。我需要将N个数据源中的所有数据加载到单个关系数据库中(仅一次)。因此,最终目标似乎是一个简单的ETL:
((注意:每个源DB包含10-15个耦合的表,具有100000-1000000行)
[我目前正在尝试寻找合适的仪器,我相信Apache NiFi正是我所需要的:喜欢只通过友好的UI配置所有内容而不是编码和重新发明轮子的想法。
几个问题:
谢谢!
Apache NiFi可能是这种情况的正确答案,但可以详细说明。
您拥有许多不同数据源的情况是NiFi的一种常见部署模式,用户将在其中执行某种分层的方法:
脚本是有多少人最初倾向于解决这个问题,但会导致这种不合时宜的过程的不合规则的收集,这些过程很难作为一个整体来考虑,也不能解释彼此之间的相互作用。对于长期运行的数据流,这些数据流将不断发展并可能带来更多的源/汇,NiFi是一项出色的产品,可将这种数据路径整合到一个统一的视图中。与更改一个或多个脚本/应用程序相比,该UI进一步使用户能够更改那些“规范”不可避免地发生更改和做出响应的时间。
考虑到“简单的” ETL,而且您正在使用数据库以外的其他来源,这似乎很适合NiFi的预期用途。 NiFi不太适合某些更复杂的ETL操作,也没有为这些类型的操作构建UI自定义。