kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。

一、shell脚本调用python脚本

1、下面是一段简单的无参python脚本

import os

def main():
# 在这里编写Python脚本的主要逻辑
print("Hello, this is a Python script called by shell!") if __name__ == "__main__":
main()

2、通过shell脚本调用。

shell脚本

cd D:\king\kettle-demo
py test.py

3、将步骤【Shell】拉入画布,步骤内直接编写shell脚本或者调用shell文件进行调用python脚本,如下图所示:

4、采用直接插入shell脚本的方式调用python脚本,如下图所示:

5、选项卡脚本文本框内直接填写shell脚本,如下图所示:

6、下面是一段简单的带参python脚本

# 文件名:script_with_args.py

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()

7、采用py test1.py java命令将参数java传递给python脚本,如下图所示:

8、采用调用shell文件(rundemo.bat或者rundemo.sh)方式进而调用python脚本,如下图所示:

最下面的参数可以设置传递给python脚本参数,如设置V1参数。

9、采用调用shell文件(rundemo.bat或者rundemo.sh)方式进而调用python脚本,如下图所示:

也可以上一步骤的结果作为参数传递给python脚本。

10、转换中设置一个参数V1为java,然后将java字符串传递给python脚本,如下图所示:

二、http方式调用pyton服务

此处是将python脚本暴露http服务接口,然后在kettle中使用http步骤进行调用。这里不在详细介绍,可以参考之前的http调用文章。至于python脚本如何暴露http服务(使用Flask轻松解决),如下图所示:

kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法的更多相关文章

  1. Spring Boot从入门到精通(六)集成Redis实现缓存机制

    Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...

  2. Hibernate从入门到精通(六)一对一双向关联映射

    在上次的博文Hibernate从入门到精通(五)一对一单向关联映射中我们讲解了一下一对一单向关联映射,这次我们继续讲解一下与之对应的一对一双向关联映射. 一对一双向关联 与一对一单向关联映射所不同的的 ...

  3. CoreData 从入门到精通(六)模型版本和数据迁移

    前面几篇文章中讲的所有内容,都是在同一个模型版本上进行操作的.但在真实开发中,基本上不会一直停留在一个版本上,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模 ...

  4. go语言20小时从入门到精通(六、工程管理)

    在实际的开发工作中,直接调用编译器进行编译和链接的场景是少而又少,因为在工程中不会简单到只有一个源代码文件,且源文件之间会有相互的依赖关系.如果这样一个文件一个文件逐步编译,那不亚于一场灾难. Go语 ...

  5. Simulink仿真入门到精通(六) Simulink模型保存为图片

    6.1 截图保存方式 Ctrl+Alt+A 6.2 拷贝试图方式 Edit→Copy Current View to Clipboard 6.3 saveas函数 用于保存figure或者simuli ...

  6. Docker从入门到精通(六)——容器通信

    想要变成 Docker 的高阶玩家,搞懂 Docker 的容器通信是必不可少的. 1.需求 通常一个 Web 项目上线,我们会把开发完成的服务部署在Tomcat 服务器里面,然后需要的持久化数据会存放 ...

  7. kettle从入门到精通 第十一课 kettle javascript 解析json数组

    1.json步骤虽然可以解析json数组,但是不够灵活.通过javascript步骤来解析json数组比较灵活,且可以按照需要组装数据流转到下个步骤. 1)步骤名称:可以自定义 2)Transform ...

  8. 【JavaScript从入门到精通】第四课初探JavaScript魅力-04

    第四课初探JavaScript魅力-04 style与className 之前我们已经讲过,style用于在JS里控制元素的样式,通过style可以选中元素的各种css属性.此外,我们也提到过,JS用 ...

  9. 【JavaScript从入门到精通】第三课 初探JavaScript魅力-03

    第三课 初探JavaScript魅力-03 函数传参 上节课的时候我们已经讲了什么是函数,实际上,函数在功能上就类似于css的class一样,将一段代码包裹起来使用.为了让函数的功能更加的丰富和实用, ...

  10. python六十三课——高阶函数之sorted

    演示sorted函数的使用,以及和sort的区别:我们将sorted和sort进行一番比较:相同点:它们都是来实现排序的操作(功能层面)不同点:列表中的sort函数,它执行完毕后会直接影响原本这个li ...

随机推荐

  1. 【Oracle】获取字符串中特定字符在字符串中出现的次数

    [Oracle]获取字符串中特定字符在字符串中出现的次数 使用regexp_count函数 例子: select regexp_count('A,B,D,E;Q;F;GQWEQWE:qwe',';') ...

  2. 剑指 Offer II 018(Java). 有效的回文(简单)

    题目: 给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写. 本题中,将空字符串定义为有效的 回文串 . 示例 1: 输入: s = "A man, ...

  3. 力扣551(java)-学生出勤记录Ⅰ(简单)

    题目: 给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤.迟到.到场).记录中只含下面三种字符: 'A':Absent,缺勤'L':Late,迟到'P':Pres ...

  4. 力扣150(java)-逆波兰表达式求值(中等)

    题目: 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 注意 两个整数之间的除法只保留整数部分. 可以保证给定的逆波兰表达式 ...

  5. Lindorm-Operator云原生实践

    简介: Kubernetes 的CRD 机制(CustomResourceDefinition)支持通过自定义的controller来管理资源的生命周期,这样就可以像操作pod,deployment一 ...

  6. 云原生消息、事件、流超融合平台——RocketMQ 5.0 初探

    简介: 今天分享的主题是云原生消息事件流超融合平台 RocketMQ 5.0 初探,内容主要分为三个部分: 首先,带大家回顾业务消息领域首选 RocketMQ 4 发展历史以及 4.x 版本的演进与发 ...

  7. Ollama是什么,为什么这么好用

    Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计. 以下是其主要特点和功能概述: 1. 简化部署:Ollama 目标在于简化在 Docker 容器中部署大型语言 ...

  8. [FE] Quasar BEX 所有位置类型 types

    科普:[FE] Quasar BEX 预览版指南 New Tab Quasar BEX 的默认类型是 New Tab,在新 tab 栏里打开内容. Dev Tools 也就是在开发者栏里面的内容. O ...

  9. foreach更改element内容后this到data不生效导致页面数据无变化

    list.forEach(element => {  element = element.split('^')    console.log(element)  }) 数据已经被更改,但在外部t ...

  10. 自动化测试数据生成:Asp.Net Core单元测试利器AutoFixture详解

    引言 在我们之前的文章中介绍过使用Bogus生成模拟测试数据,今天来讲解一下功能更加强大自动生成测试数据的工具的库"AutoFixture". 什么是AutoFixture? Au ...