首页 > 编程知识 正文

ETL 到底是什么,人活着的意义到底是什么

时间:2023-05-03 05:26:51 阅读:219864 作者:3940

在商业智能BI中,我们会经常听到一个词语叫ETL,也看到很多相关的职位,就有ETL开发工程师,那么ETL到底是什么呢?

ETL 的英文全称叫做 Extraction 抽取,Transformation 转换,Loading 加载。

抽取就是指将数据从一个数据源、或者多个数据源抽取过来的动作,数据源有可能是关系型数据库,也可能是文本文件,或者一个程序的API接口。

 

 

转换就是指数据的清洗、合并、拆分、加工、数据逻辑计算处理的过程,通常会按照一定的业务逻辑规则进行计算,最后转换成符合业务模型、分析模型的规范性的数据。简单来说,不管是大数据、小数据,都是将不规范的、不可分析的转换成规范的、可分析的数据。

加载就是将转换的结果按照分析模型需要的格式将数据写入到目标表,这些目标表就是业务自助分析的数据来源,通过是按照一定建模的方式来组织的,不管是星型分析模型还是雪花型分析模型都是的。

这就是在 BI 中我们通常定义的ETL处理过程。

也有另外的一种ETL,不是面向数据分析的,而是纯数据的处理,比如数据库的数据迁移,多数据源的数据迁移,这是纯数据的开发,用途不一定是面向BI,可能是业务系统之间的数据转换处理。像我们之前的一个很大的项目,原有的ERP是用COBOL语言开发的,后面也是因为业务的发展需要使用新的ERP系统,因此就需要把原有ERP的文件格式类型的数据按照新的业务规则、新的ERP对业务表的定义将原有系统的数据抽取到新的平台,这个过程处理非常的复杂。

ETL的开发工作也远不止这些,特别是像上面我提到的一个项目,涉及到上千张表的数据处理,光存储过程我们写了上千个,ETL包几百个,因此就需要对ETL的架构做完整的规划和涉及,这就到了ETL架构师的阶段,需要对数据、ETL甚至程序开发思维都有比较高的要求。比如异常数据的处理、错误数据的恢复、多批次的ETL包处理管理、几十个开发人员同步开发中的项目管理等。

最后,ETL通常通过什么方式或者工具来实现呢,基本上都是SQL语句加上一些便捷的ETL工具,比如像商业性的ETL工具,Informatica、微软的SSIS、IBM DataStage等等,也有开源的像Pentaho Kettle 等等。无论使用什么样的工具,对数据理解的要求,对SQL技术的要求都是必备的基础,也是作为一个ETL工程师必备的入门条件。

(全文完)

 

本文由 派可数据 原创,如需转载请必须注明来自派可数据   www.packingdata.com  ,否则按侵权处理。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。