数据产品常用概念(ETL)

作为非科班出身的产品,对于数据产品还有很多基础概念还不是很了解,因此最开始,我们先一起来理清概念。

ETL

常说的ETL是个缩写,就是extract-transform-load的缩写 ,即抽取-转换-加载。该过程会对不同来源(或系统)的大量原始数据进行提取、转换、并且按照一定的格式存储在数据平台的贴原层(ODS)中。

ETL的第一步是数据提取,解决数据来源问题

数据来源分为以下三类:

    a.业务系统数据库,通常是关系型数据库,类似mysql\sqlserver之类

    b.文件数据,例如服务器运行的log或者埋点收集的日志文件

    c.购买的第三方数据

其中又以ab两种数据来源最为常见。

数据提取一般会将数据存到缓存区,例如load层,数据下一步的转换操作。

ETL的第二步是数据转换,解决数据质量问题

这一步也就是常说的数据清洗。

数据清洗包括下面内容:

1.筛选  筛选即去掉没有分析价值的字段,保留有用的数据

2.清理   例如缺失值的填充、枚举值的映射、编码转化为可识别符号等。一般来说,原则上不会去改源数据,所以这一步的操作需要谨慎

3.合并  将多个属性进行合并

4.格式转换   例如,时间戳转为时间格式,增加时区,便于分析;

5.拆分  将单属性拆分为多属性,例如详细地址,拆出省、市

6.计算  进行简单的计算,例如出生日期计算出年龄

数据清洗一定不能改变源数据的含义,此步的原则就是对尽量保留源数据,尽量满足更多分析需求

ETL的第三步是数据加载,解决数据更新问题

数据加载分为全量加载和增量加载。

具体选择哪种方式需要看两点:1.源系统数据更新频次  2.源系统数据量大小

如果更新频次低且数据量小,往往采用全量加载,全量加载的优点是简单,数据基本和源数据一致。但当源数据数据量较大时,就会出现单次加载时间过长的问题,此时就应该开始考虑使用增加加载

至此,ETL的概念进行了简单的梳理,其实在进行深挖还有很多内容,比如具体怎么进行增量抽取等,这些后面慢慢更新~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容