如何使用 ETL?

Spr*_*dzy 3 etl

我知道这些字母表示提取、转换和加载。

但是,当我一开始使用它时,我认为在转换阶段我可以对从数据源中提取的数据进行大量不同的连接,后来我意识到在不同的 ETL 上进行连接并不是那么方便.

  • 那么我们在转换阶段做什么?
  • 计算并输出结果 ?
  • 字符串转换?
  • 输入数据源应该只是 csv、xml 还是普通文件?
  • 如果连接不是那么方便,我们是否应该只在 ETL 中进行高级转换?

谢谢

Bri*_*ton 11

Extract Transform and Load 是准备将外部数据插入到您的数据库或数据仓库中

查看 ETL 的基础知识,数据仓库设计师 Bill Inmon指出

很久很久以前,还没有 ETL(提取、转换和加载)软件。如果您想构建一个数据仓库,您必须编写代码以便将数据从一个源获取到适当的目标。有很多代码——很多重复的代码。

编写代码后,您必须对其进行维护。每次遗留系统发生变化时,您都会对代码进行手动维护。每次目标定义更改时,您都必须对代码进行手动维护。每次最终用户想要新东西时,您都必须对代码进行维护。

从这里开始,大量 ETL 产品激增,正如 Inmon 在他的 ETL 产品简史中所描述的那样。它们之所以流行,是因为它们是软件工具,旨在从不断变化的系统中提取数据,根据特定规则对其进行转换,然后将其加载到数据仓库中。这个软件过程意味着人类只参与循环的关键元素:解开加载的数据错误。通过最大限度地自动化,ETL 过程为公司提供了一种无缝方式,不仅可以将其当前数据库加载到数据仓库中,还可以将相同数据库的未来数据集加载到其中,从而使数据仓库能够持续提供未来的结果。

为了具体回答您的问题,不同的数据库提供了不同的摘录。应用转换来规范化数据。规范化既在特定于数据库的意义上,改变数据的模式以匹配接收数据仓库,也在人的意义上,确保不同系统中的相同数据在传入系统中看起来相同。

数据源可以是您可以为其编码转换的任何内容,因为转换的目的是将规则应用于传入数据,使其适合您的数据模型。仅在必要时才应联接不同的数据集。依靠您的收件人数据库来同步结果。