ETL中如何执行Python脚本

Python的解读

Python 是一种高级、通用的编程语言,由荷兰程序员吉多·范罗苏姆(Guido van Rossum)于1990年代初设计并发布。Python的设计哲学强调代码的可读性和简洁性,它的语法清晰且表达力强,使得开发者能够以更少的代码行数表达复杂的概念。这使得Python成为了编程入门者的理想选择,同时也被专业开发者广泛用于快速开发各种应用程序。

Python作为一个胶水语言具有简单易学、高可读性、丰富强大的库与框架、跨平台支持、动态类型、广泛的社区支持、适用领域广泛,可以通过Python丰富的第三方库达到你想要的任意结果。而ETLCLoud连接python之后可以增加数据获取来源,也可以对数据进行自定义的清理和处理。

ETL中Python脚本使用和注意细节

配置抽取数据到Python脚本中然后修改最后输出的流程

库表输入配置

选择完数据库和表之后,配置字段非必要配置内容

如果要配置点击下一步,sql语句可以自己添加条件

字段配置

Python命令要根据自己的Python选择,有的要填Python3。平台Python环境使用的是用户自身的Python环境,所以缺库少什么东西在自己本地下载安装就好。

脚本来源:当我们选择Python文件之后会显示"Python文件"的输入框,填写Python文件路径就好,不过下面也有提示,使用Python文件后,后面编写的Python脚本就没有用了

输入参数:这个主要是学习ETL参数的使用。一个是变量的设置,另一个是变量在节点获取方法。我简单说一下变量的使用方法,局部变量全局变量 都是 局部变量 i d ∗ ∗ 这种方式引用的, ∗ ∗ 公共变量 ∗ ∗ 的使用是这样子的 ∗ ∗ {局部变量id}** 这种方式引用的,**公共变量**的使用是这样子的 ** 局部变量id∗∗这种方式引用的,∗∗公共变量∗∗的使用是这样子的∗∗{$config.变量id}

而我们的上一节点数据属于局部变量,以这个为例就算不输入${data},还是可以输出数据 。如果不是上一节点的数据就要保存到全局变量里然后设置变量参数

返回数据编码:根据自己的编码来就行,不过要注意一点,之前有人反馈即使设置了utf-8和gbk输出的都是乱码,这就要注意设置Python命令了,这个时候设置一下Python3就好。具体根据自身Python版本来。

执行Python脚本

输出完成,系统转给Python的是个list。不一定所有的数据都是list,各位拿来用的时候可以先看一下

拿取数据演示

查看数据输出

总结

在ETLCloud中Python脚本使用的是你自己系统的环境,平台是不带Python环境的。Python命令填写,要根据自己版本来填写,如果不知道用哪个版本,就使用3.12版本,其他的就正常使用Python就行。在Python脚本里,可以根据自己的需要将数据加工成想要的。

相关推荐
阿巴阿巴拉8 分钟前
Scala相关知识总结3
开发语言·python
漫天转悠17 分钟前
Java8 到 Java21 系列之 Lambda 表达式:函数式编程的开端(Java 8)
java·开发语言
yiridancan22 分钟前
深入浅出:Spring Bean 的初始化流程详解
java·开发语言·后端·spring
Sapphire~26 分钟前
odoo-045 ModuleNotFoundError: No module named ‘_sqlite3‘
python·ubuntu·odoo
laimaxgg26 分钟前
数据结构B树的实现
开发语言·数据结构·c++·b树·算法
阳光_你好1 小时前
解决用git bash终端 tail -f 命令查看日志中文乱码问题
开发语言·git·bash
nlog3n1 小时前
Java 原型模式 详解
java·开发语言·原型模式
能来帮帮蒟蒻吗2 小时前
Go语言学习(15)结构体标签与反射机制
开发语言·笔记·学习·golang
维度攻城狮4 小时前
实现在Unity3D中仿真汽车,而且还能使用ros2控制
python·unity·docker·汽车·ros2·rviz2
陈皮话梅糖@4 小时前
使用 Provider 和 GetX 实现 Flutter 局部刷新的几个示例
开发语言·javascript·flutter