我正在尝试理解NiFi数据流机制。我读到Nifi有包含内容和元数据的flow文件(flow file属性)。
所以我想了解一下,如果我把1TB的数据放在边缘节点上,并且想把它传递给Nifi处理器,它会把所有的数据加载到内存中供处理器使用吗?
发布于 2016-09-10 16:44:00
FlowFiles (这里称为FF)类似于metadata,因为它们由内容和属性(元数据)组成,正如您突出显示的那样。但是,在NiFi框架内处理这些内容的方式是元数据驻留在内存中(每个连接最多配置一个限制),FF的内容部分实际上是指向磁盘上内容的指针。也就是说,一旦内容被接收到NiFi中,它就不再在任何时间点被保存在内存中,使用允许NiFi处理任意大文件的参照通过方法。唯一存储在内存中的是FFs的元数据,它可以配置为在每个连接的基础上限制数量。
当处理器需要进行更改时,这将使用抄写即写方法进行修改。
一般来说,处理器使用流方式将数据读/写到/从内容存储库。为此,所包含的处理器避免将FF的全部内容存储在内存中,因为这可能被证明是禁止的。对于任意大的文件,简单的数据路由和移动应该是没有问题的;避免堆内存的额外压力。在对这样的文件进行转换/修改时,答案是通常是可以的,但这取决于数据类型的具体情况。
https://stackoverflow.com/questions/39427422
复制相似问题