首页 > 编程语言 >ETL中如何执行Python脚本

ETL中如何执行Python脚本

时间:2024-05-10 19:14:43浏览次数:26  
标签:脚本 变量 Python 使用 数据 ETL

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参数的使用。一个是变量的设置,另一个是变量在节点获取方法。我简单说一下变量的使用方法,局部变量和全局变量都是  ${局部变量id}  这种方式引用的,公共变量的使用是这样子的  ${$config.变量id}  。

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

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

执行Python脚本

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

拿取数据演示

查看数据输出

 

总结

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

 

标签:脚本,变量,Python,使用,数据,ETL
From: https://www.cnblogs.com/restcloud/p/18185120

相关文章

  • Python进阶之多态和鸭子类型
    【一】多态【1】什么是多态多态指的是一类事物有多种形态【2】示例#动物有多种形态:人、狗、猪等importabc#总的类:动物classAnimal(metaclass=abc.ABCMeta):@abc.abstractmethoddeftalk(self):pass#动物的一类:人classPeople(Animal):......
  • Python进阶之绑定方法和非绑定方法
    【一】绑定方法和非绑定方法介绍【1】绑定方法绑定给谁,谁来调用就自动将它本身当作第一个参数传入(1)绑定到类的方法用classmethod装饰器装饰的方法为类量身定制类.boud_method(),自动将类当作第一个参数传入其实对象也可调用,但仍将类当作第一个参数传入(2)绑定到对象的方......
  • Python进阶之反射
    【一】什么是反射反射是一种程序可以访问、检测和修改其本身状态或行为的能力在Python中,反射主要指通过字符串的形式操作对象的属性python中的一切事物都是对象,都可以使用反射【二】反射方法getattr(object,key):获取对象的属性值,如果属性不存在,可提供默认值hasattr(ob......
  • Python进阶之内置方法
    【一】内置方法引入__init__ :初始化对象时触发__del__ :删除类时触发__new__ :构造类时触发__str__ :str函数或者print函数触发__repr__ :repr或者交互式解释器触发__doc__ :打印类内的注释内容__enter__ :打开文档触发__exit__ :关闭文档触发__getattr__:访问不存在的属......
  • python 实现类重载(类似C#的类重载,但是远不如C#的类重载好用)
    pipinstallmultipledispatch-ihttps://mirrors.aliyun.com/pypi/simplefrommultipledispatchimportdispatchclassMyClass:ab=11234def__init__(self):self.aa=1@dispatch()defcalculate(self):self.aa=1111......
  • 分享一个使用python调用websocket获取实时行情数据的方法
    这个站点可以获取:外汇、国际期货、国内期货、贵金属、能源、虚拟货币、股指期货、美股、台股、港股、印度股、A股、ETF等以下是Python的连接demo,可以参考下。同时也支持其他后端语言的连接,PHP、Java等。获取品种地址:http://39.107.99.235:1008/market/market.phpimportj......
  • Python进阶之抽象类
    【一】什么是抽象类与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化【二】为什么要有抽象类如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据......
  • Python进阶之封装
    【一】面向对象的三大特性面向对象的三大特性:封装、继承、多态其中最重要的就是封装,封装就是将数据和功能整合到一起我们可以对封装在类和对象中的属性进行访问的控制,有隐藏的和开发的接口【1】什么是封装封装是对具体对象的一种抽象封装就是将某些数据和功能隐藏起来,只......
  • Python-有序字典OrderedDict练习题
    问题:读取键盘输入结果,创建n个键值对,将其排序后放入有序字典并输出。详细描述:根据提示,实现函数功能:读取n(n>0)行输入,以每一行的数据为key,行号(从0开始)为value,建立n对键值对,然后将他们按照key排序后,放入一个有序字典,最后输出这个有序字典。importcollectionsdefFunc():pairs......
  • python教程10-集合
    集合(set)是一个无序的不重复元素序列。集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。可以使用大括号 {} 创建集合,元素之间用逗号 , 分隔,或者也可以使用 set() 函数创建集合。集合创建:注意:创建一个空集合必须用 set() 而不是 {},因为 {} ......