该仓库整理了一些在 Apache NiFi 中使用的脚本,部分从网上整理过来,部分自己开发。
脚本分成两类,在 ExecuteScript 组件执行的和在 InvokeScriptedProcessor 执行的。
- ExecuteScript
| Topic | Groovy | Javascript | Python |
|---|---|---|---|
| 操作 flowfile 属性 | attributes.groovy attributes_filter.groovy json_to_Attribute.groovy |
attributes.js | attributes.py update_attribute.py |
| 日志打印 | log.groovy | log.js | log.py |
| 数据转换 | transform.groovy | transform.js | transform.py |
| 数据分割 | split.js | split.py | |
| 计数器 | counter.js | counter.py | |
| 读取 nifi.properties | properties.js | properties.py | |
| 读写 State | state.groovy | state.js | state.py |
| State实现Run once功能 | run_once_state.groovy run_once_GenerateFlowFile.groovy |
||
| 解析 URI | parse_uri.groovy | ||
| XML转JSON | xmlToJson.groovy | ||
| 格式化Date/Time | datetime.groovy | datetime.js | |
| timestamp转DateTime | convertTimestampToDate.groovy | ||
| 读写DistributedMapCache缓存数据 | MapCacheGet.groovy MapCachePut.groovy |
||
| 脚本实现 Jolt 功能 | Jolt.groovy | ||
| JSONBuilder示例 | JSONBuilder_attribute.groovy JSONBuilder_dict.groovy |
||
| 字符串前置动态补0 | string_prefix.groovy |
- InvokeScriptedProcessor
| Topic | Groovy |
|---|---|
| 截取文件指定行的指定字符 | extract_char_with_file.groovy |
| RecordReader | RecordReaderProcess.groovy |
| EDI案例 | SprintfAttrLinesOnAttributesProcessor.groovy |
| UDP报文解析 | UDP2JSON.groovy |