ETL中的kettel运行python代码,不用配置pyhton的任何环境
我们知道,有时间,我们在运行kettle的时候,会需要python代码进行辅助工作,或者说,如果一直用kettle会变得非常复杂,而且耗时巨大,成本非常高.
思路:如果kettle运行python大体上有两种方法:
- 中需要配置python的环境变量,安装python各种配置:
这种方法坏处:是需要专业或者比较专业的人员进行维护,一旦系统进行迁移,或者换一台电脑,一切环境变量得重头开始,设置会出现版本不兼容问题,导致代码运行错误!
这种方法的好处是:可以随时更具业务的变化,随时变化python脚本:
如上图所示:
配置好:Anaconda3.5.2后,配置Anaconda3的环境变量后,python代码才能执行成功,
或者 Anaconda3可以换成python的路径下,保证这个目录下有pyhton.exe也可以,
然后设置
python运行文件的,默认打开方式为python.exe
设置好后再运行kettle此时才能运行成功
方法2 :在不需要配置pyhton的各种环境,直接把python代码进行封装,就可以执行运行ETL:
好处:代码可以随时迁移,在多个平台上运行,可以不用管,环境变量依赖jar包,直接就干,直接运行,没有任何问题.
坏处:如果需要更改python代码,python的代码只能重新封装.
运行成功图如下:
下面进行pyton代码的重新封装:
首先PyInstaller使用教程:
为用PyInstaller 它可以直接封装python代码,直接封装,把依赖包和各种方法都打包到 exe执行文件中,直接为kettle提供执行代码;
这里要特别注意:这里要特别注意:这里要特别注意:
使用PyInstaller进行代码封装,360和电脑管家一定要关闭,否则会因为它们打包失败!报错信息是你没有权限!血泪的教训,血泪的教训!血泪的教训!
360和电脑管家会让你没有权限进行文件打包!必须关闭,必须关闭!
封装ptyhon代码如下:
- 找到python文件的路径:用管理员权限 打开cmd
用cmd 进行代码封装
Pyinstaller -F pyhon代码
封装完毕后在会在python文件中自动生成dist文件在文件中找pyhon的exe文件,复制粘贴到你kettle的代码下即可:
直接把pytho封装好的代码 复制到你需要的路径,就可以直接运行了,当你kettle被拿到其他地方运行时,你也不用安装python的各种jar和环境变量了