Python中最好的ETL软件包 [英] Best ETL Packages In Python

查看:335
本文介绍了Python中最好的ETL软件包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个用例:


  • 从Oracle / PostgreSQL / Redshift / S3 / CSV提取,转换和加载到我自己的Redshift cluster

  • 安排每天/每周运行的作业(最好使用INSERT + TABLE或INSERT + NONE选项)。

我当前正在使用:


  1. 用于提取的SQLAlchemy(通常效果很好)。

  2. 用于转换和加载的PETL(在较小的数据集上运行良好,但是对于约50m +行,速度很慢,并且与数据库的连接超时)。

  3. 用于调度组件的内部工具(该组件将转换存储为XML,然后再存储来自XML的负载,并且看起来相当长且复杂)。

我一直在浏览此链接,但欢迎您提出其他建议。如果有一个简便的流程,我可以通过Python完成所有操作,那么也欢迎导出到Spark或类似产品(我只使用Redshift,因为这似乎是最好的选择)。

I have been looking through this link but would welcome additional suggestions. Exporting to Spark or similar is also welcome if there is an "easier" process where I can just do everything through Python (I'm only using Redshift because it seems like the best option).

推荐答案

您可以尝试 pyetl 由python3编写的etl框架

You can try pyetl an etl framework write by python3

from pyetl import Task, DatabaseReader, DatabaseWriter
reader = DatabaseReader("sqlite:///db.sqlite3", table_name="source")
writer = DatabaseWriter("sqlite:///db.sqlite3", table_name="target")
columns = {"id": "uuid", "name": "full_name"}
functions={"id": str, "name": lambda x: x.strip()}
Task(reader, writer, columns=columns, functions=functions).start()

这篇关于Python中最好的ETL软件包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆