在当今的数据驱动世界中,ETL(提取、转换、加载)流程已经与几十年前大不相同。许多公司仍然坚持构建自己的数据管道框架,而不是利用现有的工具,尽管这需要广泛的技能集合。传统的ETL通常是通过编写代码手动完成的,这不是一个人的工作。尽管传统ETL可能被视为瓶颈,但这并不意味着它没有价值。让来了解当前的情况!
作为数据爱好者,在日常处理数据时肯定经常遇到这个术语,对吧?通常数据工程师处理所有这些工作,但即使是数据分析师、数据科学家和商业智能工程师也需要具备实践经验。并非所有公司都会提供可以直接进行分析和报告的干净数据,有些公司期望与数据工程师合作,共同创建可扩展和高效的端到端数据管道。
特别是大型公司,他们雇佣ETL开发人员和ETL专家来专门管理数据集成和设计数据存储。三步过程看起来简单,但在幕后,处理从各种来源提取数据的数百个极其繁琐的事情,尤其是数据本身已经变得更加庞大和混乱。这是整个数据管道中最具有挑战性的部分,不能在进入下一步之前处理关键信息。在将干净且验证过的数据转换为所需形式后,可以安全地将其存储在数据仓库中,用于分析和数据建模目的。在生产阶段的初始阶段涉及各种风险,这就是为什么他们获得更多报酬的原因。
数据管道中有多种工作流程,可以通过两种方式完成:使用ETL工具和编码。
ETL工具:Talend、Informatica、Alteryx、SSIS、Amazon Redshift、Xplenty、QlikSense。
编码:Python
、R
、SQL
、Java
、Apache Pig
。
无代码ETL平台几乎不需要编码。这些工具提供用户友好的图形界面,具有各种功能来创建数据映射。一旦数据映射完成,团队只需要运行流程,服务器就会完成其工作。这个过程易于被客户理解,易于维护。它是可扩展的,为处理实时数据集的公司节省了大量的时间和金钱。逻辑可以重用于任何数据源,并且有自定义数据操作功能。有订阅和按使用付费的ETL服务可以在云服务器上运行,处理数百万数据。因此,公司需要根据用例和客户要求明智地选择工具。
即使是非技术雇主也需要接受培训,以安排工作流程、作业和任务,以便熟悉工具。有些公司鼓励无代码实践来开发各种产品。
“根据IT研究公司Forrester的数据,低代码开发平台市场将在2022年达到212亿美元的价值,年增长率为40%。更重要的是,45%的开发人员已经使用过低代码平台或预计在不久的将来会这样做。”[1]
编写自己的提取管道是诱人的,但同时也是困难的。许多公司采用编写Python
脚本来提取、转换和加载数据,即使是在云环境中也是如此。如果现有的ETL解决方案中没有可用的东西,可以对代码进行任何类型的自定义。编写自己的ETL在性能优化和灵活性方面可以带来巨大的好处。如果有专家级的数据工程师在团队中,知道ETL流程,就有可能将ETL流程调整到尽可能顺畅。繁琐的编码在自助服务中很有用,可以独立执行数据预处理。
如果ETL对复杂模式不起作用,更改代码和维护脚本可能是一个巨大的问题。自动化手动ETL需要其他工具,如Selenium、Windows任务计划程序,以自动运行脚本,每天/每周存储数据到Excel或数据库中。因此,它们是为特定用户和数据操作构建的。
喜欢玩脏数据并清理它吗?如果喜欢通过检查所有错误和规范化数据来手动实验数据,那么实施各种Python
和R
包是一个很好的方法。甚至编写SQL
查询从混乱的数据中提取信息也是有趣和具有挑战性的。这可以帮助深入理解数据整理背后的逻辑,而不是从工具开始。
这完全取决于各种参数,如数据大小、内存和预算,以选择业务问题的最优解决方案。此外,ETL方法的选择也随着公司中技术和非技术专长水平的不同而变化。
这是一个相当有争议的话题,双方都有其优缺点。ETL工具并没有消亡,但也不是所有人都喜欢。一个人可能最终会因为使用不需要的ETL工具而承担不必要的开销,这也托管了无法转移到ETL工具之外的业务逻辑。但是,使用Python
或SQL
创建ETL管道时所发展的技能将在未来几年始终如一。
当前的ETL工具可能会过时,适应新的工具对一些人来说可能是困难的。因此,如果使用不当,即使是工具也可能成为公司的麻烦。无论无代码还是手动ETL,整个过程本身都很复杂,但也非常有趣味学习。
最喜欢哪一个?请在评论中告诉!