ETL到底是什么?

各位数据的朋友,大家好,我是老周道数据,和你一起,用常人思维+数据分析,通过数据讲故事。

在这里插入图片描述

前段时间和大家聊了一个话题,就是为什么要用构建数据仓库,而不是直连数据源的方式开发报表?通过这次的话题,大家知道了构建数据仓库就等于是打好坚实的地基,而BI大厦也才能越建越高!在构建数据仓库的过程需要用到一个工具,也就是ETL。今天就和大家聊一下,ETL到底是什么?

ETL到底是什么?

ETL是Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。看字面意思不是很好理解,那ETL到底是什么?先讲一个故事吧。

小强和小丽结婚一年了,事业家庭都稳定了下来,准备要生BB了,父母听到这个消息,非常高兴,坚持要从另一个城市搬过来帮忙。但是,小强现在住的地方是一个一房一厅,有点小,所以,得搬一个大点的房子。于是,小强找到了一间新房子:三房两厅两卫,还有一个大阳台。

终于落实好,就要准备搬家了。一个周末,小夫妻两个人将旧住所中需要的东西打好包,而一些不再需要的东西就只有丢掉了,忙碌了整整一个上午。中午,搬家公司来了,将打包的东西运到新住所,接下来,两个人又开始忙碌,将打包的东西解开,重新整理,摆放。原来的洗衣机是挤在卫生间的,现在终于可以放到阳台上了…。

下午,父母的东西也运过来了。要将他们个人的东西放到另一个卧室,对了,他们还带了一个电饭煲,小强原来也有一个的,这个还得想办法处理一下…好了,好像还缺点什么,需要再去采购些物品…

经过周末两天的忙碌,终于,按照自己和父母的喜好,重新摆放好了,真舒适啊:一进客厅,黑白色调的沙发、茶几和电视显的素雅而高贵,特别是墙上的照片,从两个人认识、恋爱到结婚,讲述着一个迷人的爱情故事。餐桌上摆着父母带来的青花瓷茶具,泡出来的茶中溢着岁月的沉香;进到主卧,大大的梳妆台和衣柜是女主人的最爱,而床头的书架,则是男主人的地盘…进到客卧,深色的衣柜和床,有些复古的感觉,窗台上的白玉兰花沐浴着阳光,这是父母共同的爱好…

小强和小丽牵着手,看着这个温馨的家,脸上洋溢着幸福,窗外的阳光洒落进来,镜头拉远,定格,The End,故事讲完了。这个故事是在讲都市爱情故事呢?还是房地产公司精心策划的广告?

都不是,我们想用它来说说ETL是什么的。好吧,言归正传,我们重新来讲一遍故事。

小强(即已经使用的ERP)因为要生BB(即正要实施的MES)加上父母(即已经使用的HR)要过来,所以,需要换一套大的房子(即DW数据仓库)。大房子会根据实际的需求进行规划(三房两厅两卫,还有一个大阳台)。捋一下,就是将ERP/HR/MES的数据整合到数据仓库中去。

ETL其实就是数据搬家的过程。

搬家第一步,我们要将旧住所的东西打包;第二步,我们叫来搬家公司将打包的东西运输到新住所;第三步,我们在新住所将打包的东西解开,重新整理,摆放。

ETL就是数据搬家的过程,第一步,将有用的表和字段整理出来;第二步,将这些字段搬到另外一个数据库中,实现物理上的转移;第三步,再按新的分析需求,重新清洗整理这些数据。听到现在,你可能觉得好像是有些理解了。但具体是怎么实现ETL的过程呢,且听我慢慢道来。

第一步打包,到底怎么将有用的表和字段打包呢?

生活中的搬家,我们在打包的时候,大家通常是整理每个房间,看哪些物品是有用的,就放在一个箱子里,整理的时候,只会考虑这个物品是不是有用,至于这个物品搬到新家后放在哪里,是不会去过多的思考的。如果我们先想着哪些东西都是要放到新房子主卧的,再将这些东西全部放在一起打包。那一定是有强迫症了。

ETL过程中,有些朋友就会这样,习惯了原来写SQL或存贮过程开发报表的方式,在搬数据时,也是写视图或存贮过程,将结果搬到数据仓库中去。这种方式非常不好,为什么呢?首先,它仍然是老思路,只是原来是存贮在临时表中,现在改为存贮在物理表中。技术或工具的升级,其实首先是要升级思维方式;其次,一旦需求发生变化,就需要频繁修改视图或存贮过程,后端开发的工作量很大。

正确的做法是,只考虑分析需求中的数据,来自哪些表或字段,就把涉及到的表与字段原封不动的搬过去,至于搬过去后怎么用,等搬过去再说,先不着急。

不同的业务系统,会有许多相同的基础资料,如都有部门这个基础资料,但大家的编码或名称可能不一样,这就需要额外处理一下,就好像父母也带了一个电饭煲需要想办法处理一样。

构建数据仓库时,总会有一些数据可能并不存在于某个业务系统中,如电商平台的数据,或者手工维护的预算数据。要使用这些数据,就需要额外导进去,就好像还缺点什么,需要再去采购些物品一样。

小强小两口周末两天的忙碌是辛苦的,但也是值得的。ETL的意义或价值,就好像小强小两口的忙碌一样,是为了最后有一个舒适的新家。

数据仓库构建好后,才有可能基于数据仓库来构建分析模型并根据自己的喜好展现最终的结果。客厅里一目了然的就是管理驾驶舱,既有ERP的信息(小强的电视),也有HR的信息(父母的茶具),而进到主卧,则好像进入到某个具体的分析主题一样;而进到客卧,则相当于切换到另外一个分析主题。

ETL的质量决定了BI是否成功(小强从此过上了幸福的生活。)

总结

ETL就是数据搬家的过程,第一步,将有用的表和字段打包;第二步,将这些字段搬到数据仓库中,实现物理上的转移;第三步,再按新的分析需求,重新清洗整理这些数据。

老周道数据,和你一起,用常人思维+数据分析,通过数据讲故事,我们下一讲再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/17023.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vim编辑文件

目录 一、vi和vim (1)介绍 (2)相同点 (3)不同点 二、使用vim打开文件 三、使用vim编辑文件 (1)vim的四个模式 (2)命令模式下的编辑命令 删除 复制 …

你最关心的4个零代码问题,ChatGPT 帮你解答了!

作为人工智能(AI)新型聊天机器人模型 ChatGPT,刚上线5天就突破100万用户,两个多月全球用户量破亿,不愧为业界最炙热的当红炸子鸡。 ChatGPT 是一种语言生成模型,由 OpenAI 开发和训练。它是基于 Transform…

轻松掌握mysql事务的四大特性ACID及实现原理

1、介绍 要实现这四大特性,我们先了解下mysql中的缓冲池和数据页 2、保证原子性和一致性 1、通过undo log保证数据的原子性和一致性 undo log保证了事务的原子性和一致性。 3、保证隔离性 1、并发事务产生时容易产生的隔离性问题 脏读 不可重复读 幻读…

基于电流控制的并网逆变器(Simulink)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

如何完全卸载linux下通过rpm安装的mysql

卸载linux下通过rpm安装的mysql 1.关闭MySQL服务2.使用 rpm 命令的方式查看已安装的mysql3. 使用rpm -ev 命令移除安装4. 查询是否还存在遗漏文件5. 删除MySQL数据库内容 1.关闭MySQL服务 如果之前安装过并已经启动,则需要卸载前请先关闭MySQL服务 systemctl stop…

Python代码学习之给图片添加文字或图片水印

前言 图片加水印有什么好处?在现今的数字化时代,网络上的图片泛滥,盗图现象也越来越严重。因此,在发布文章时,为了保护自己的原创作品版权,很多人选择使用水印来保护他们的图片。这样就能更好地做到&#…

类和对象(一)

目录 前言 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 3.1 类定义的两种方式 3.2 成员变量命名规则建议 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5.类的作用域 6.类的实例化 7.类对象模型 8.this指针 8.1 this指针的特性 前言 今天小编就开始给…

【HTML+CSS+JS】登录注册页面大合集

前言 学JS也学了一段时间,正巧碰上了人工智能要调用人脸识别接口进行真人人脸识别,于是便萌生了用人脸来进行注册和登录的想法,这样的话就需要开发一个登录注册页面,然后用JS绑定注册事件调用人脸识别接口进行登录注册 饭要一口一…

网络安全之密码学

目录 密码学 定义 密码的分类 对称加密 非对称加密 对称算法与非对称算法的优缺点 最佳解决办法 --- 用非对称加密算法加密对称加密算法的密钥 非对称加密如何解决对称加密的困境 密钥传输风险 密码管理难 常见算法 对称算法 非对称算法 完整性与身份认证最佳解决…

PAVC100R4222 PARKER轴向柱塞泵

PAVC100R4222 PARKER轴向柱塞泵特点: 1、壳体为高强度铸铁 2、两段设计便于维护 3、全密封的轴用轴承 4、内置增压器***高转速性能,可达3000 RPM( PAVC100为2600 RPM) 5、控制器为插装形式,易于现场更换 6、配流盘为可替换的青铜复合 10、过滤…

2016 ICPC合肥站 传递 HDU-5961(拓扑排序 / bitset / 暴力(可hack))

题目链接:HDU-5961 传递 中文题面就不解释题目意思,解释一下名词的意思 完全图:对于一个无向图 G G G 而言,设点集为 V V V,点集中任意不相同两点 u , v u, v u,v 间都有且仅有一条边叫做完全图。 竞赛图&#xff1…

刚转岗做项目经理,无从下手,怎么办?

01 背景 最近在知乎平台看到一个问题是这么说的: 或许很多人都不是从工作开始就是项目专员再到项目经理这里一步一步过来,而是从其他岗位比如售前、销售、产品经理、程序员等转到项目经理岗位的。 那么对于这些人来说,做项目经理会有什么问…

Packet Tracer - 静态路由故障排除

Packet Tracer - 静态路由故障排除 地址分配表 设备 接口 IPv4 地址 子网掩码 默认网关 R1 G0/0 172.31.1.1 255.255.255.128 不适用 S0/0/0 172.31.1.194 255.255.255.252 不适用 R2 G0/0 172.31.0.1 255.255.255.0 不适用 S0/0/0 172.31.1.193 255.255…

什么是http代理504网关超时错误,要如何修复?

当你在使用 HTTP 代理时,有时候会遇到"504 网关超时"错误,这个错误看起来非常可怕,但实际上它并不是一个很难解决的问题。在本文中,我将向你介绍 504 错误的定义,以及为什么我们会遇到这个错误,同…

论文笔记——chatgpt评估+

文章目录 1. chatgpt 效果评估:Evaluating ChatGPT’s Information Extraction Capabilities: An Assessment of Performance, Explainability, Calibration, and Faithfulness文章简介文章结论 2. 事件抽取: OneEE: A One-Stage Framework for Fast Overlapping an…

UAD142A01 3BHE012551R0001使用以太网交叉电缆,您也可以直接连接。

​ UAD142A01 3BHE012551R0001使用以太网交叉电缆,您也可以直接连接。 如何将 MicroLogix PLC 连接到计算机并将程序下载到 MicroLogix 1100 MicroLogix PLC由美国罗克韦尔自动化旗下知名工业自动化厂商Allen-Bradley设计。MicroLogix 1100 主要用于小型工业。我们在…

山东专升本计算机第一章-计算机信息技术与计算机文化

计算机信息技术与计算机文化 计算机中的信息表示 数制及其转换 数制:用进位的原则进行计数数码:数制中表示基本数值大小的不同数字符号基数:一种数制所使用的数码个数位权:数码在不同位置的权值 数制的转换 • R进制转化为十进…

【五一创作】【远程工具】- Tabby 下载、安装、使用、配置【ssh/Serial】-免安装、解压即用

目录 一、Tabby 概述 二、Tabby 下载、安装 三、Tabby 的使用  👉3.1 使用SSH协议连接Linux开发主机  👉3.2 使用Serial(串口)协议连接开发板 一、Tabby 概述 在远程终端工具中,secureCrt 和 XShell 是两款比较有名的远程工具,但…

【计算机图形学】图形变换(以任意直线为对称轴的对称变换)

模块3-2 图形变换 一 实验目的 编写图形各种变换的算法 二 实验内容 1:任意直线的对称变换。要求将变换矩阵写在实验报告中,并与代码匹配。求对任意直线AxByC0的对称变换矩阵。 实验结果如下图所示: 1:预设图形初始化 2&#…

数据结构——链表(python版)

一、链表简介 链表是一种在存储单元上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表中的指针链接次序实现。链表是由一系列的结点组成,结点可以在运行时动态生成。每个结点包含两部分:数据域与指针域。数据域存储数据元素,指针域…