首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ETL?

如何使用ETL?
EN

Database Administration用户
提问于 2011-01-04 08:30:15
回答 3查看 1.5K关注 0票数 3

我知道这些字母意味着提取、转换和加载。

但是,当我一开始使用它的时候,我想在转换阶段我可以对我从数据源提取的数据做很多不同的连接,后来我意识到在不同的ETL上做一个连接并不是那么容易。

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

谢谢

EN

回答 3

Database Administration用户

回答已采纳

发布于 2011-01-04 08:57:22

提取、转换和加载是准备要插入到数据库或数据仓库

中的外部数据。

看看ETL的基础知识,注意到数据仓库设计人员Bill 备注

很久以前,在不久的过去,没有ETL (提取,转换和加载)软件。如果要构建数据仓库,则必须编写代码才能将数据从一个源获取到适当的目标。有很多代码-很多重复的代码。在您编写代码之后,您必须维护它。每次旧式系统更改时,您都会手动维护代码。每次更改目标定义时,都必须对代码进行手动维护。每次最终用户需要新的东西时,您都必须对代码进行维护。

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

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

数据源可以是您可以对转换进行编码的任何东西,因为转换的目的是将规则应用于传入数据,使其适合您的数据模型。只有在必要时才应执行连接不同数据集的操作。依靠收件人数据库来同步结果。

票数 11
EN

Database Administration用户

发布于 2011-01-04 18:54:43

以下是一些用途:

  • 数据清洗(来自旧系统的日期没有日期时间,您必须验证整数日期字段。
  • 检查孤儿
  • 标准化数据(我们已经采取了17个贷款表和输出5个)
  • 合并来自多个源系统的数据
  • 创建聚合表
票数 4
EN

Database Administration用户

发布于 2011-01-04 19:53:03

除了上面提到的内容之外,我的大量“转换”都是在进行单元转换,因为我的大多数数据库都跟踪来自不同来源的科学数据。所以当我将数据“规范化”时,这就是我们的领域所称的“数据协调”(将事物放置在类似的尺度/参考框架上,以便直接比较它们),而不一定是“数据库规范化”,尽管我可能需要做一些额外的修改,以使数据按照不同的概念组织起来,以适应我们的系统。

我的共同问题是:

  • 时间:由于时差不同而加/减,可能需要处理闰秒(例如,postgres总是假定12月31日的秒数是相同的,所以我必须减去几秒钟,这样它才能准确地显示时间)
  • 光谱范围:纳米与ngstrom,波长与频率,电子伏特
  • 坐标系:(这个非常糟糕,因为一个参照系中静止的东西可能是在另一个坐标系中移动的)
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档