Python实现ETL

15

我正在处理一个数据仓库,寻找一种使用Python的ETL解决方案。 我已经尝试了SnapLogic作为ETL工具,但我想知道是否还有其他的解决方案。

这个数据仓库才刚刚开始。我还没有导入任何数据。最初我想要加载的数据子集很容易就会超过100GB。


你能描述一下你正在处理的数据仓库有多大吗?它是一个长期存在的仓库,还是刚刚开始建设? - eksortso
请查看pandas、petl和其他ETL工具。 - john doe
为什么要求“使用Python”?你应该选择最适合工作的工具。 - Some Guy
3个回答

25

是的。只需使用适用于您数据库的DB-API接口编写Python代码即可。

大多数ETL程序提供花哨的“高级语言”或拖放式GUI,这些并没有太大帮助。

Python同样具有表达能力和易用性。

避免混淆。只需使用纯正的Python即可。

我们每天都在这么做,而且非常满意结果。它简单、清晰且高效。


完全同意。使用SQLAlchemy从源表和目标表获取元数据,并使用ODBC驱动程序连接源数据库和目标数据库。 - Babu Arunachalam
用这种方式确实可以工作!但是与ETL工具相比,它太慢了,在2022年有更快的批量加载方法吗? - codeomascot

1
你可以使用Python提供的库pyodbc从各种数据库源中提取数据。然后使用pandas数据框来根据组织需求操纵和清理数据。然后再使用pyodbc将其加载到你的数据仓库中。

0
大家可以去看看Zed湖。它可以让你将各种数据格式加载到数据“池”中。一旦加载完成,你就可以使用Zed语言将其转换为任何你需要的格式。我发现Zed语言比使用SQL进行ETL要容易得多。而且它还可以扩展。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接