首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ETL工具千千万,掌握规则全都会

想必大家对ETL工具很感兴趣,毕竟这是连接数据的桥梁,市面上的ETL工具数不胜数、良莠不齐,只要懂其中的规则,则一切都不在话下。现在都流行敏捷开发,所以不会编程的同学们也不用担心,因为凡是常见的ETL工具,只要你能看懂英文单词,拖拉拽就可以了,英语不好的也没关系,因为有一种叫汉化版的啊。

ETL简介

ETL其实就是Extract,Transform,Load的首字母大写啊,是不是一下顿悟了。把原始数据经过抽取(extract)、转换(transform)、加载(load)到目标数据库,也就是你要创建的数据仓库中去,是不是也没有那么高大上,一下子就明白了,很多事情就是这样,不明白的时候听名字感觉高端,一明白了,原来JUST SO SO,所以要相信自己肯定会学明白的。

抽取

这个就好理解了,就是把数据源数据抽过来。

咱们说过,数据仓库是把各种分布的的数据汇总,所以这边抽取的数据源大致就会包括EXCLE数据,文本文件数据,数据库数据等等。抽取完的数据是直接到数据仓库吗,当然不是了,因为还要进行转换,加载啊,不然就不叫ETL工具了,应该叫E工具,那么抽取的数据放在什么地方呢,这就涉及到一种是部分缓存数据,然后转换,然后加载到数据库,一种是全部缓存数据,再处理到数据仓库。这个也是分情况,看数据量大小。

这个难点的话就是抽取数据太大的话,你应该根据业务是否需要抽取全部数据,还是只抽取有用的就可以。另一个就是抽取文本文件的时候容易出现乱码的问题,这个你得懂各种字符的使用,这个说起来就长了,就不在这里一一介绍了。

转换

转换我们暂且理解为数据简单清洗,这包括什么呢

1)字符统一标准,这个数据源的数据是float型的,那个数据源的数据是int型的,这就需要我们根据业务统一起来,一般ETL工具也都有统一字符的控件,你只需要筛选哪个控件有用就好了。

2)对数据进行预处理,比如说转置,排序合并等等,这个可以在ETL工具中实现,也可以在数据库中用SQL实现,说到这我不得不提醒一下大家,SQL语句是必备技能之一哦,千万要记住。

3)派生列,就是增加一列,像一些数据源没有的字段,但是在数据仓库中必须要有这个字段,就需要我们根据公式给生成这列,比如说抽取时间,在抽取的时候获取当前时间就为你的抽取时间了。抽取时间这个字段可是很重要的,大家在抽取数据时,千万不要忘了这个字段。

这个常用的也就以上三类,当然还有别的功能需要实现,但是那样写起来,可能累死我也写不完了,如果能直接语音转文字的话,或许我也不愿意说吧,因为实在太多了。

加载

加载的话,主要分为,全量抽取,增量抽取,缓慢变化维,确切的说是数据仓库中的维度表和事实表是全量抽取还是增量抽取。

全量抽取就是每次抽数据都是先把原有的数据清除之后再抽取,一般相对小数据量来说,对于大数据量每次全量抽取太费时间,一般会选择增量抽取。

增量抽取就是按照时间或者ID字段进行比较或者判别,该抽那些数据,不抽那些数据。

缓慢变化维大部分都是针对维度来说的,举个例子来说明一下缓慢变化维,例如1月份的销售人员是小明,2月份的时候变成了小红,三月份的时候变成了小花,这样的话貌似全量,增量都不合适,就需要进行判断这个数据发生变化的话,保留历史数据,抽取变化后的数据。

有句老话说的好,计划不如变化,因地制宜,因材施教,大体就是这个意思吧,就是说,我现在只是带个门,让你们知道这个咋回事,具体遇到的问题还得根据实际情况来变,毕竟理论是死的,人是活的,理论也不一定全对。每天一点小知识,一天一个小技能,下节咱们主要讲一下数据库和SQL语句吧,当然更希望大家留言来制定下集预告。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180116G104XB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券