场景:kettle调用python执行脚本,处理之后,再把结果数据流发给下一个步骤。
看到有个qq群里有个小伙伴求助要实现kettle调用python脚本,然后接收python脚本执行的结果,最后将结果传递到下一个步骤。之前的课程里面介绍的是kettle通过shell步骤调用python脚本,没有接收python返回的结果。今天一起来探索下如何接收python返回的结果。开干!!!
1、编写python demo代码,名字为test2.py
注意:这里的返回值是通过print 进行输出,不是return
# -*- coding: utf-8 -*-
import sys
def main():
if len(sys.argv) < 2:
print("Usage: python script_with_args.py <arg1>")
return
arg1 = sys.argv[1]
print(f"Argument passed from shell: {arg1}")
if __name__ == "__main__":
main()
2、将步骤【生成记录】、【JavaScript代码】、【写日志】拖到画布中并连线,如下图所示:
</