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)
流程模板
参见附件(请右键另存保存):执行脚本模板