Flow File属性
每个 FlowFile 都拥有多个属性, 这些属性将在 FlowFile 的声明周期中发生变化。FlowFile 的概念非常强大, 并提供三个主要优点:
- 首先, 它允许用户在流中做出路由决策, 以便满足某些条件的 FlowFiles 可以与其他 FlowFiles 进行不同的处理。这可以由RouteOnAttribute和其他类似的处理器完成。
- 其次, 利用属性配置处理器: 处理器的配置依赖于数据本身。例如, PutFile 能够使用 Attributes 来知道每个 FlowFile 的存储位置, 而每个 FlowFile 的目录和文件名属性可能不同(结合表达式语言, 比如每个流都有 filename 属性, 组件中就可以这样配置文件名: ${filename}, 就可以获取到当前 FlowFile中filename的属性值)。
- 最后, 属性提供了有关数据的极有价值的上下文。在查看 FlowFile 的 Provenance数据时非常有用, 它允许用户搜索符合条件的 Provenance 数据, 并且还允许用户在检查 Provenance 事件的详细信息时查看此上下文。通过简单地浏览该上下文, 用户能够知道为什么以这样或那样的方式处理数据。
共同属性
每个FlowFile都有一组属性:
- filename:可用于将数据存储到本地或远程文件系统的文件名。
- path:可用于将数据存储到本地或远程文件系统的目录的名称。
- uuid:一个通用唯一标识符,用于区分FlowFile与系统中的其他FlowFiles。
- entryDate:FlowFile进入系统的日期和时间(即已创建)。此属性的值是一个数字,表示自1970年1月1日午夜(UTC)以来的毫秒数。
- lineageStartDate:任何时候克隆,合并或拆分Flow