Skip to main content

ExecuteScript 执行脚本语言

说明

根据输入的文本内容或文件路径,执行文本脚本内容。

支持多种脚本语言,例如Python、Lua、Groovy等。

示例说明

将输入的文本进行列过滤,并更改列分隔符。 输入文本: a1|b1|c1|d1 a2|b2|c2|d2 a3|b3|c3|d3 输出文本: b1 c1 b2 c2 b3 c3

流程编排

流程

流程说明

输入文本由GenerateFlowFile生成,经过ExecuteScript组件执行脚本处理,将数据列的首列和末尾列去掉,将分隔符从“|”替换成空格。

ExecuteScript配置脚本引擎选择Groovy, 脚本内容配置如下:

import java.nio.charset.StandardCharsets

def flowFile = session.get()
if(!flowFile) return

flowFile = session.write(flowFile, {inputStream, outputStream ->
inputStream.eachLine { line ->
a = line.tokenize('|')
outputStream.write("${a[1]} ${a[2]}\n".toString().getBytes(StandardCharsets.UTF_8))
}
} as StreamCallback)

session.transfer(flowFile, REL_SUCCESS)

流程模板

参见附件(请右键另存保存):执行脚本模板