SplitJson Processor
描述
将 JSON 文件拆分为由 JsonPath 表达式指定的数组元素的多个单独的 FlowFiles。 每个生成的 FlowFile 由指定数组的一个元素组成,并传输到关系“split”,原始文件传输到“original”关系。 如果未找到指定的 JsonPath 或未计算出数组元素,则原始文件将路由到“失败”并且不会生成任何文件。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| JsonPath Expression | | 一个 JsonPath 表达式,指示要拆分为 JSON/标量片段的数组元素。 | |
| Null Value Representation | empty string |
| 指示导致空值的 JSON 路径表达式的所需表示形式。 |
| Max String Length | 20 MB | 解析JSON文档时字符串值允许的最大长度 |
关系 (Relationships)
| 名称 | 描述 | 自动终止 |
|---|---|---|
failure | 如果 FlowFile 因任何原因处理失败(例如,FlowFile 不是有效的 JSON 或指定的路径不存在),它将被路由到此关系 | 否 |
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 的全部内容(作为 JsonNode 对象)被读入内存,此外还有表示拆分 JSON 的所有生成的 FlowFile。如果由于 JSON 的大小或 JSON 的拆分配置方式而生成许多拆分,可能需要两阶段方法来避免过度使用内存。 |