谈谈ETL

2022-05-05 09:01:41 浏览数 (1)

ETL绝不是三个单词直译这么简单,三个数据环节紧密连接构成体系庞大、技术复杂度的数据生态系统。

ETL有三个难题:一是,数据的集成效率是评估抽取能力的主要考点;二是,数据的高类聚低耦合的组织结构是转换的难点;三是,数据的信息化智能化是加载的终极目标。

集成是为了构建全面的完整的数据集合,去准确的描述事物,发现问题,找到最优的解决方案。数据组织构建数据的体系关系,让找数取数用数稳健高效。最终目的是实现数据价值能为业务带来管理方法的改进和决策效能的提升。

一,数据抽取(E)

数据抽取工作是繁重的,值得庆幸地其模式可以简单抽象,可以使用工具化流程化数据抽取。

抽取的关键是为了实现多数据源的数据集成,把业务库、埋点日志、爬虫、文件等源数据,通过数据同步工具比如sqoop 、Datax等,实现了多源的大量数据的快照同步,增量同步及拉链同步等 将数据集成到hadoop 的数据平台。

二,数据转换(T)

数据转换的工作的关键是数据的组织,用数据组织方式来消弱业务变化带来数据体系的波动,数据转换需要保障数据组织的稳健性。

基于E阶段数据集中到数据平台,我们通过范式来实现数据的建模,目前应用比较广的是多维建模,通过维度和事实构建数据的关系。然后对数据就行分层分解数据清洗和计算的复杂度形成我们常常听到的数据集市等,当然大量的数据以及数据加工任务需要我们做数据治理,包括生命周期管理、数据统计口径等。数据转换需要保障数据的全准。

三,数据加载(L)

加载是数据产出价值的最终环节,最容易拿结果的地方。基于T阶段形成的数据仓库,我们可以构建数据中心并提供数据输出的渠道,比如自动的报表配置、数据接口、跨域的输出,让数据转化为智能成为可能。

常用的数据应用有很多比如绩效看板、用户画像、智能推荐等。

四,数据角色来自ETL分工

围绕ETL 的不同阶段,工程师按岗位分工也是不同的。

数据平台工程师,主要职责是构建数据工具,搭建数据处理的环境体系,需要基于业务场景构建数据同步工具,自动报表系统,数据api工具等等。

数仓开发工程师,主要工作是构建数据的组织和管理,构建数仓体系。常用SQL来处理数据,承接业务取数看数的需求。

数据服务工程师,主要是基于数据构建应用,比如用Java语言实现一个战场沙盘等数据产品等等,类似后段开发工程师。

0 人点赞