我对 Nifi 及其功能以及它的适当用例有疑问。
我读过 Nifi 的真正目标是创建一个允许基于流的处理的空间。在玩了一点 Nifi 之后,我也开始意识到它能够以对我有用的方式对数据进行建模/塑造。可以说 Nifi 也可以用于数据建模吗?
谢谢!
我对 Nifi 及其功能以及它的适当用例有疑问。
我读过 Nifi 的真正目标是创建一个允许基于流的处理的空间。在玩了一点 Nifi 之后,我也开始意识到它能够以对我有用的方式对数据进行建模/塑造。可以说 Nifi 也可以用于数据建模吗?
谢谢!
数据建模是一个有点过分的术语,但在您希望以对您有用的方式对数据进行建模/塑造的背景下,听起来它可能是一种可行的方法。其余的都是在这个假设下。
虽然 NiFi 通过与基于流的编程 (FBP) 密切相关的原理和设计使用数据流作为一种手段,但其功能是将数据从 A 点获取到 B 点(并可能再次返回)。当然,系统本质上并不是在使用相同的协议、格式或模式进行通信,因此需要有一些东西来将数据塑造成消费者对生产者提供的东西的预期。这涉及到常见的企业集成模式 (EIP) [1],例如中介和路由。但在更广泛的意义上,它只是将数据提供给需要它的人(系统、用户等),何时以及如何需要它。
NiFi 的创建者之一乔·维特 (Joe Witt) 在 Meetup 上发表了一场精彩的演讲,这可能与数据科学背景下的数据塑造理念相一致。其中的幻灯片可用 [2]。
如果您有任何其他问题,我建议您查看社区邮件列表 [3] 并提出任何其他问题,以便您可以深入挖掘并获得更广阔的视野。
数据建模对很多人来说可能意味着很多事情,所以我会在这里小心使用这个术语。我确实认为您所问的内容非常清楚,Apache NiFi 是一个很好的系统,可用于帮助将数据塑造成您后续分析和处理所需的正确格式、模式和内容。NiFi 有一个可扩展的模型,因此您可以添加可以执行此操作的处理器,或者您可以在许多情况下使用现有的处理器,您甚至可以使用 ExecuteScript 处理器,以便您可以即时编写脚本来操作数据。