Python vs SQL 比较:数据管道的选择

新知榜官方账号

2023-09-18 19:00:24

Python vs SQL 比较:数据管道的选择

作为一名Web开发人员,我第一次与数据库和SQL产生交集是使用对象关系映射(ORM)。我使用的是Django查询集API,这个界面用户体验很好。之后,我转向数据工程方向,更多地利用数据集来构建AI。我的职责是从用户应用程序中获取数据,并将其转换为数据科学家可利用的内容,这一过程通常称为ETL(extract,transformandload)。

随着产业发展,生产系统中的数据非常混乱,需要进行大量转换才能用于构建AI。有些JSON列每行模式都不相同,有些列包含混合数据类型,有些行有错误值。此外,还需要计算「用户成为访问者的时间」以及「他们在两次访问间的等待时间」等特征。当我着手清理、聚合和管理数据特征时,我想确定哪种语言最适合该任务。

在之前的工作中我每天都使用Python,我知道它可以完成工作。但是,这次经历使我了解到,Python可以完成一项任务并不意味着这个任务就应该使用Python来做。

SQL转换不仅速度更快,而且代码也更易读,更易于维护。在这里,我使用lag和first_value函数来查找用户历史记录中的特定记录(即分区)。然后使用age函数来确定两次访问间的时间差。

更有趣的是,当这些转换脚本应用于6.5GB的数据集时,Python完全失败。在3次尝试中,Python崩溃了2次,第三次我的计算机完全崩溃......而SQL只耗时226秒。

这些发现完全改变了我做ETL的方法。我现在的工作模式是「不要将数据移动到代码中,而是将代码移动到数据中」。Python将数据移动到代码中,而SQL执行后者。更重要的是,我知道我只是触及了SQL和postgres的皮毛。我期待能发掘出更多出色的功能,使用分析库实现加速。

原文链接:https://towardsdatascience.com/python-vs-sql-comparison-for-data-pipelines-8ca727b34032

本页网址:https://www.xinzhibang.net/article_detail-12206.html

寻求报道,请 点击这里 微信扫码咨询

关键词

Python SQL 数据管道

分享至微信: 微信扫码阅读

相关工具

相关文章