ETL流程的演变与实践

在当今的数据驱动世界中,ETL(提取、转换、加载)流程已经与几十年前大不相同。许多公司仍然坚持构建自己的数据管道框架,而不是利用现有的工具,尽管这需要广泛的技能集合。传统的ETL通常是通过编写代码手动完成的,这不是一个人的工作。尽管传统ETL可能被视为瓶颈,但这并不意味着它没有价值。让来了解当前的情况!

ETL概述

作为数据爱好者,在日常处理数据时肯定经常遇到这个术语,对吧?通常数据工程师处理所有这些工作,但即使是数据分析师、数据科学家和商业智能工程师也需要具备实践经验。并非所有公司都会提供可以直接进行分析和报告的干净数据,有些公司期望与数据工程师合作,共同创建可扩展和高效的端到端数据管道

为何ETL如此受关注?

特别是大型公司,他们雇佣ETL开发人员和ETL专家来专门管理数据集成和设计数据存储。三步过程看起来简单,但在幕后,处理从各种来源提取数据的数百个极其繁琐的事情,尤其是数据本身已经变得更加庞大和混乱。这是整个数据管道中最具有挑战性的部分,不能在进入下一步之前处理关键信息。在将干净且验证过的数据转换为所需形式后,可以安全地将其存储在数据仓库中,用于分析和数据建模目的。在生产阶段的初始阶段涉及各种风险,这就是为什么他们获得更多报酬的原因。

如何执行ETL?

数据管道中有多种工作流程,可以通过两种方式完成:使用ETL工具和编码。

ETL工具:Talend、Informatica、Alteryx、SSIS、Amazon Redshift、Xplenty、QlikSense。

编码:PythonRSQLJavaApache Pig

无代码ETL与手动ETL

无代码ETL平台几乎不需要编码。这些工具提供用户友好的图形界面,具有各种功能来创建数据映射。一旦数据映射完成,团队只需要运行流程,服务器就会完成其工作。这个过程易于被客户理解,易于维护。它是可扩展的,为处理实时数据集的公司节省了大量的时间和金钱。逻辑可以重用于任何数据源,并且有自定义数据操作功能。有订阅和按使用付费的ETL服务可以在云服务器上运行,处理数百万数据。因此,公司需要根据用例和客户要求明智地选择工具。

即使是非技术雇主也需要接受培训,以安排工作流程、作业和任务,以便熟悉工具。有些公司鼓励无代码实践来开发各种产品。

“根据IT研究公司Forrester的数据,低代码开发平台市场将在2022年达到212亿美元的价值,年增长率为40%。更重要的是,45%的开发人员已经使用过低代码平台或预计在不久的将来会这样做。”[1]

编写自己的提取管道是诱人的,但同时也是困难的。许多公司采用编写Python脚本来提取、转换和加载数据,即使是在云环境中也是如此。如果现有的ETL解决方案中没有可用的东西,可以对代码进行任何类型的自定义。编写自己的ETL在性能优化和灵活性方面可以带来巨大的好处。如果有专家级的数据工程师在团队中,知道ETL流程,就有可能将ETL流程调整到尽可能顺畅。繁琐的编码在自助服务中很有用,可以独立执行数据预处理。

问题?

如果ETL对复杂模式不起作用,更改代码和维护脚本可能是一个巨大的问题。自动化手动ETL需要其他工具,如Selenium、Windows任务计划程序,以自动运行脚本,每天/每周存储数据到Excel或数据库中。因此,它们是为特定用户和数据操作构建的。

喜欢玩脏数据并清理它吗?如果喜欢通过检查所有错误和规范化数据来手动实验数据,那么实施各种PythonR包是一个很好的方法。甚至编写SQL查询从混乱的数据中提取信息也是有趣和具有挑战性的。这可以帮助深入理解数据整理背后的逻辑,而不是从工具开始。

这完全取决于各种参数,如数据大小、内存和预算,以选择业务问题的最优解决方案。此外,ETL方法的选择也随着公司中技术和非技术专长水平的不同而变化。

这是一个相当有争议的话题,双方都有其优缺点。ETL工具并没有消亡,但也不是所有人都喜欢。一个人可能最终会因为使用不需要的ETL工具而承担不必要的开销,这也托管了无法转移到ETL工具之外的业务逻辑。但是,使用PythonSQL创建ETL管道时所发展的技能将在未来几年始终如一。

当前的ETL工具可能会过时,适应新的工具对一些人来说可能是困难的。因此,如果使用不当,即使是工具也可能成为公司的麻烦。无论无代码还是手动ETL,整个过程本身都很复杂,但也非常有趣味学习。

最喜欢哪一个?请在评论中告诉!

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485