SplitJson

文档中心 › 组件索引 › SplitJson

SplitJson Processor

类型全限定名:cn.org.acal.lynxus.processors.standard.SplitJson

所属 Bundle:cn.org.acal.lynxus:lynxus-standard-nar:2.11.8

描述

将 JSON 文件拆分为由 JsonPath 表达式指定的数组元素的多个单独的 FlowFiles。 每个生成的 FlowFile 由指定数组的一个元素组成,并传输到关系“split”,原始文件传输到“original”关系。 如果未找到指定的 JsonPath 或未计算出数组元素,则原始文件将路由到“失败”并且不会生成任何文件。

标签

jsonsplitjsonpath

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
JsonPath Expression一个 JsonPath 表达式,指示要拆分为 JSON/标量片段的数组元素。
Null Value Representationempty string
  • the string 'null'
  • empty string
指示导致空值的 JSON 路径表达式的所需表示形式。
Max String Length20 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)

该组件不受限。

输入要求

该组件要求有传入连接。

系统资源考量

资源描述
MEMORYFlowFile 的全部内容(作为 JsonNode 对象)被读入内存,此外还有表示拆分 JSON 的所有生成的 FlowFile。如果由于 JSON 的大小或 JSON 的拆分配置方式而生成许多拆分,可能需要两阶段方法来避免过度使用内存。