如何通过 ETL 工具对数据进行去重
![如何通过ETL工具对数据进行去重](https://static001.geekbang.org/infoq/c4/c474ae2b4a1f00cc636f33d9dc8dc2f2.png)
在数据处理流程中,数据去重是一个至关重要的环节,它能够确保数据分析的准确性和效率。ETL(Extract, Transform, Load)工具作为数据集成的重要组成部分,提供了强大的功能来帮助用户实现数据的抽取、转换和加载,其中就包括数据去重。
一、处理组件
在 ETLCloud 中,想要实现数据去重,就可以直接用数据去重合并组件,快速实现数据去重的操作。这个组件一般是默认配置在 ETLCLoud 初始环境里面的,可以在组件分类“数据运算组件”中找到。
![](https://static001.geekbang.org/infoq/2a/2a8946b29a750f4be2cbeb9a4bbc8223.png)
如果没有,也可以前往官网下载安装组件:
![](https://static001.geekbang.org/infoq/3c/3c221d522af7965610c2984dca8cbf21.png)
![](https://static001.geekbang.org/infoq/75/7542085b1151fd0441e99246bb966f3f.png)
购买安装组件的方式可以参考官网帮助文档
二、功能实现
想实现数据去重操作非常简单,比如用库表输入等组件将需要去重的数据读取到 ETLCloud 平台中,再使用数据去重合并组件处理数据,最后使用库表输出组件,将处理后的数据入库保存。
展示下要处理的数据表:
![](https://static001.geekbang.org/infoq/b1/b17077cac6bd9e28c96a27fbba8caf86.png)
保存数据的目标表
![](https://static001.geekbang.org/infoq/25/25f752b73f7c675008efc6c95e28cb10.png)
我们这里对水果产品信息表进行去重处理,将产品名 product_name 和产品价格 product_price 都相同的数据删除掉,每种有效信息都只留下 1 条。
流程设计如图所示:
![](https://static001.geekbang.org/infoq/6e/6e93444e070c8691550ac1d3a2394582.png)
在流程配置开始之前,我们需要在平台的数据源管理模块中配置好要用的数据源,确保能够用测试连接成功:
![](https://static001.geekbang.org/infoq/92/9292214ba361dfb199efba1e295377f9.png)
![](https://static001.geekbang.org/infoq/ca/caa73cb21b4964181eb38212a555cfb7.png)
双击点开库表输入组件,配置载入数据源表:
![](https://static001.geekbang.org/infoq/e1/e170377c90029288231bca9354032e4b.png)
继续点击下一步,后面的配置,ETLCLoud 都会帮我们自动载入
![](https://static001.geekbang.org/infoq/71/711f9acc40356b4f96a671de84b05a95.png)
![](https://static001.geekbang.org/infoq/29/29f4826ca5a354d3bfc6c909545d0bff.png)
可以在这里预览源数据:
![](https://static001.geekbang.org/infoq/32/32e5ab4a742b2e2c934921e21d189b13.png)
库表输入配置完毕,我们点击保存,然后配置数据去重合并组件,数据所在节点选择刚刚配置的库表输入:
![](https://static001.geekbang.org/infoq/56/56141617e56e590eec628fc9db16806d.png)
工具会帮我们载入表字段,我们这里只要勾选需要比较的字段即可。我们需要 product_name 和 product_price 字段来确定是否是唯一的有效数据,所以只需要勾选这两个字段:
![](https://static001.geekbang.org/infoq/fa/fab65d6c96b65f75dda1119132fe19d9.png)
数据去重合并组件配置完毕,同样的点击保存,再配置下库表输出组件:
![](https://static001.geekbang.org/infoq/07/0757e9bdd048acebac4bfe745693696d.png)
选择好库表后,工具会自动载入相关的配置信息,这里使用默认的配置就可以了,直接下一步并保存组件:
![](https://static001.geekbang.org/infoq/1a/1ad7eeed809f838a5dd496ac70196f04.png)
![](https://static001.geekbang.org/infoq/46/469a2a871638cd8f5819fe60dbd88012.png)
现在组件都配置完毕了,点击“运行”按钮,选择直接运行方式:
![](https://static001.geekbang.org/infoq/70/7063077dcb6aaf7a96bd49393242506f.png)
![](https://static001.geekbang.org/infoq/f5/f5e9c762fb6513e715c89ff784251d7f.png)
流程运行完毕,查看运行效果:
![](https://static001.geekbang.org/infoq/7a/7a76ced5341a324f2ae251e85d0527db.png)
可以点击“查看日志”来查看数据运行日志:
![](https://static001.geekbang.org/infoq/5c/5cd19d6c82ccd69440d785abda15e506.png)
现在来看下目标表数据情况:
![](https://static001.geekbang.org/infoq/10/10ca86f1bbd724c17c9df1f2bf963503.png)
三、结论
通过上述步骤看到,有效地利用 ETL 工具 ETLCLoud 进行数据去重操作,可以确保数据质量,为后续的数据分析和业务决策提供坚实的基础。掌握这些技巧,将极大提升数据处理的效率和准确性。
评论