SplitXml Processor
描述
将 XML 文件拆分为多个单独的 FlowFile,每个 FlowFile 包含原始根元素的子元素或后代
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Split Depth | 1 | 指示开始拆分 XML 片段的 XML 嵌套深度。深度为 1 表示拆分根节点的子节点,深度为 2 表示拆分根节点的子节点的子节点,依此类推。 |
关系 (Relationships)
| 名称 | 描述 | 自动终止 |
|---|---|---|
failure | 如果 FlowFile 由于任何原因处理失败(例如,FlowFile 不是有效的 XML),它将被路由到此关系 | 否 |
original | 被分割成段的原始 FlowFile。 如果 FlowFile 处理失败,则不会向此关系发送任何内容 | 否 |
split | 原始FlowFile的所有段都将被路由到这个关系 | 否 |
写入的 FlowFile 属性
| 名称 | 描述 |
|---|---|
fragment.identifier | 从同一父 FlowFile 生成的所有拆分 FlowFile 都将为此属性添加相同的随机生成的 UUID |
fragment.index | 一个单数,指示从单个父 FlowFile 创建的分割 FlowFile 的顺序 |
fragment.count | 从父FlowFile生成的分割FlowFile的数量 |
segment.original.filename | 父FlowFile的文件名 |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
输入要求
该组件要求有传入连接。
系统资源考量
| 资源 | 描述 |
|---|---|
| MEMORY | FlowFile 的全部内容(作为 Document 对象)被读入内存,此外还有表示拆分 XML 的所有生成的 FlowFile。Document 对象占用的内存大约是 XML 大小的 10 倍。例如,1 MB 的 XML 文档可能使用 10 MB 的内存。如果由于 XML 的大小而生成许多拆分,可能需要两阶段方法来避免过度使用内存。 |