/*2024.07.25记录心得 NiFi和Kettle的对比,后续有新的体会 会不定期更新。因为现在工作的环境是基于大数据,有很多其它ETL工具,所以对于NiFi和Kettle的更深作用肯定没有发挥透彻,基于自己的日常使用来写一些浅见。*/
-----先来总结
总结
- NiFi和Kettle的设计思想不一样。NiFi是以数据流思想而设计,核心是数据流程(flow)和数据流(stream),这样更适用于动态、流式的处理场景。Kettle是以作业(Job)为目的,将数据源、数据目的地、转换步骤等元素按照流程连接成完整的作业,这样更适用于重复性批量性作业场景。
- NiFi支持流式数据处理,Kettle是批处理。因此在需要实时处理数据的应用场景中,NiFi是更佳的选择。
- NiFi是有预写日志,当出现问题比如重启服务器,之后任务队列仍然存在。Kettle的进程被打断,正在处理的数据会消失,这对实时系统非常不友好,比如仓库实时的库存、MES一些实时数据。
- 实时监控和管理:NiFi提供了实时监控和管理工具,能够更好地监控和管理数据处理任务。Kettle缺乏实时监控和管理工具,因此在处理数据时,出现问题时的对应措施比较缺乏。
- 相比较而言,NiFi的使用界面比Kettle看起来更美观一些。
NiFi优点
- NiFi支持流式数据处理,Kettle是批处理。因此在需要实时处理数据的应用场景中,NiFi是更佳的选择。
- NiFi是有预写日志,当出现问题比如重启服务器,之后任务队列仍然存在。
- 实时监控和管理:NiFi提供了实时监控和管理工具,能够更好地监控和管理数据处理任务。
- NiFi的使用界面看起来更美观一些。
NiFi缺点
- 虽然有更多更灵活的操作,但是要经过一个个Processor设置,实际使用起来没有Kettle快。
Kettle优点
- 基本的功能是 数据源+数据转换+目标表,使用起来步骤比NiFi更少。
Kettle缺点
- Kettle是一种批处理工具,适用于离线批处理作业,不能应对实时数据处理的应用场景。
- Kettle的进程被打断,正在处理的数据会消失,这对实时系统非常不友好,比如仓库实时的库存、MES一些实时数据。
- Kettle缺乏实时监控和管理工具,因此在处理数据时,出现问题时的对应措施比较缺乏。
- Kettle的操作界面没有NiFi美观。