ETL基本概念-01

1,ETL

? ? ? ?ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽?。╡xtract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。它的主要作用是将企业中分散、非完全结构化、标准不统一的各种数据,整合到一起,形成企业级统一数据仓库,为企业的分析决策提供有质量保证的数据源。



2,ETL过程

? ? ? 主要包含三大阶段,分别是数据抽取、数据转换、数据加载。



3,ETL流程--数据抽取

3.1 关系型数据库

? ? ? ? 关系型数据库数据高度结构化、数据量不算特别大、数据更新相对频繁、数据质量较高、数据获取比较方便,分为离线与实时

? ? ? ? 离线抽取,应用场景是对短时间内的更新不敏感,只关心一段时间后的最终状态,一般是固定周期定时抽取。抽取方法,可以采用快照的方式,对整个表做全表快照;或者是采用基于时间字段的增量抽取,但是需要对这个字段的更新场景非常了解。

? ? ? ?实时抽取,通常的应用场景是对数据的最新状态非常敏感,当有新数据插入或者旧数据更新时,需要及时抽取。抽取方法有很多,其中常用的一种是基于消费数据库binlog的方式,如阿里开源的canal。

3.2?服务端程序日志文件

? ? ? ?各种日志数据混杂在一起(需要过滤出自己需要的)、数据格式比较多样(格式可能不统一)、数据量相对较大。对于这类数据,通常的方法就是过滤抽取。抽取方法,可以使用flume监控文件目录,或者使用FileBeat实时监控文件内容变化。

3.3 客户端用户行为数据

? ? ? ?数据量非常大、数据源非常分散、数据质量参差不齐、数据结构化程度高。针对这种数据,通常的抽取方法,就是专门设计一个数据收集系统来处理收集数据的问题。



4,ETL流程--数据转换

? ? ? ?ETL的核心环节,也是最复杂的环节。它的主要目标是将抽取到的各种数据,进行数据的清洗、格式的转换、缺失值填补、剔除重复等操作,最终得到一份格式统一、高度结构化、数据质量高、兼容性好的数据,为后续的分析决策提供可靠的数据支持。

4.1 ETL流程--数据清洗

? ? ? ?清洗掉脏数据,以免混入正常数据中,造成数据质量下降,引导有偏差的错误决策。通常的做法有,md5校验、关键字段检查、格式类型一致性检查、无效性检查等。

(1)md5校验通常用于通过公网传输的数据,为防止数据被篡改,需要比对md5值来保证数据的安全性,没能通过md5检验比对的数据将被视为脏数据过滤掉。

(2)关键字段检查,是指在一条数据记录中,非常关键的字段,如果其值不合法,或者类型不对,将被视为非法数据。比如,识别用户行为的字段,其值不在规定取值范围内时,将无法识别具体是做了什么操作,将被视为非法数据清洗掉。

(3)格式类型一致性检查,就是检查一条数据记录的整体格式或者重要字段的类型是否符合规范,如果不符合,同样也是没办法处理,只能作为脏数据处理掉。例如,不合法的日期格式。

(4)无效性检查,通常是比较严格的过滤方法,它主要目的是为了保证数据的高可靠性,通常是事先规定好数据的可信范围,不满足的将被视为不可信的无效数据。

4.2?格式转换

? ? ? ? 对数据格式做统一化规范化处理,方便后续的分析作业能够更好地使用数据。一般根据源数据格式和目标格式的不同,会有不同的实现。一般包含记录格式转换和字段格式转换。记录格式转换,就是最终将一条记录转换成什么格式,例如转成json格式或csv格式。字段格式转换是对字段值进行格式的统一化处理,如将长整型时间戳全部转化为人类可读的日期格式。

4.3 错误数据处理

? ? ? ?这一类错误产生的原因是业务系统不够健全,在接收输入后没有进行判断直接写入后台数据库造成的,比如数值数据输成全角数字字符、字符串数据后面有一个回车操作、日期格式不正确、日期越界等。这一类数据也要分类,对于类似于全角字符、数据前后有不可见字符的问题,只能通过写SQL语句的方式找出来,然后要求客户在业务系统修正之后抽取。日期格式不正确的或者是日期越界的这一类错误会导致ETL运行失败,这一类错误需要去业务系统数据库用SQL的方式挑出来,交给业务主管部门要求限期修正,修正之后再抽取。

4.4?缺失值填补

? ? ? ? ?针对数据中缺失的空位进行填充,以保证数据类型的一致性或完整性。例如,对于一个数量类的整数型字段,当其值缺失时,可以考虑填充0。这里要注意的是缺失值填充要相对谨慎一些才行,因为这个过程相当于是在修改原始数据,一定要确保填充的值对后续的分析不会造成误导性的影响。

4.5??剔除重复数据

? ? ? ?防止数据重复上传,造成误判。剔除重复数据,是非常有必要的,也是保证数据质量的前提。

? ? ? ?数据清洗是一个反复的过程,不可能在几天内完成,只有不断的发现问题,解决问题。对于是否过滤,是否修正一般要求客户确认,对于过滤掉的数据,写入Excel文件或者将过滤数据写入数据表,在ETL开发的初期可以每天向业务单位发送过滤数据的邮件,促使他们尽快地修正错误,同时也可以做为将来验证数据的依据。数据清洗需要注意的是不要将有用的数据过滤掉,对于每个过滤规则认真进行验证,并要用户确认。

4.6?增加必要信息

? ? ? ?对数据增加一些追踪信息或者是生成一些必要的标识字段。有些字段是和具体的业务强相关的,也有一些通用的字段。比如,源数据里只有长整型时间戳字段,可以增加可读性比较高的日期时间字段,还可以增加数据来源字段便于追踪数据血缘关系。



5,ETL流程--.数据加载

? ? ? ? 把数据加载至目的地,比如数据仓库中。通常的做法是,将处理好的数据写成特定格式(如parquet、csv等)的文件,然后再把文件挂载到指定的表分区上。也有些表的数据量很小,不会采用分区表,而是直接生成最终的数据表。



6,ETL--日志处理

(1)执行过程日志,这一部分日志是在ETL执行过程中每执行一步的记录,记录每次运行每一步骤的起始时间,影响了多少行数据,流水账形式。

(2)错误日志,当某个??槌龃淼氖焙蛐创砦笕罩荆锹济看纬龃淼氖奔?、出错的??橐约俺龃淼男畔⒌?。

(3)总体日志,只记录ETL开始时间、结束时间是否成功信息。如果使用ETL工具,ETL工具会自动产生一些日志,这一类日志也可以作为ETL日志的一部分。

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容