Apache Nifi 与 Gobblin

mar*_*kin 3 etl bigdata apache-nifi gobblin

我正在评估一个大数据项目,我们需要从各种互联网来源(ftp、api 等)提取大量大数据集,进行轻量转换和轻量数据质量/健全性检查(例如:行和列检查),并将其推向下游。目前的焦点是批量的,但预计会支持流式传输。易于大规模支持是一项重要要求。

我们正在研究 Apache Nifi 和 Gobblin,它们的意图似乎重叠。哪种用例最适合哪个平台?它们如何符合上述用例?

谢谢!

Rom*_*ost 5

我的经验是使用 NiFi,我刚刚了解了 Gobblin,但主要来说,NiFi 本身就是一个应用程序,而 Gobblin 是一个框架。

在 NiFi 中,您将拥有一个 GUI,具有非常精细的授权,允许多个用户干预流程的不同部分、监控流程等……另一件事是 NiFi 是“永远在线”和“永远”在生产中,您可能能够直接在目标上进行修改,因此,有一些保护措施以避免丢失数据(我的意思是错误地丢失数据)。

因此,我认为这两种解决方案或多或少可以做相同的事情,如果您有一个想要不时部署一次的工作流程,Gobblin 可能更适合,但如果您想要授予某些用户权限的东西如果要直接干预生产中的部分流程,NiFi将是最好的。

最后,为了让问题面向编程:

  • NiFi 允许您以图形方式进行编程,为您的“开发人员”提供非常精细的权限,并在“程序”(NiFi 流程)运行时更新它
  • Gobblin 似乎(从我查阅的资料来看)通过使用文本文件定义作业来工作,这似乎更像是“经典”开发工作流程,但这可能更适合您的使用。