ETL工具......他们究竟做了什么?请以外行人的话说

时间:2009-07-29 00:47:43

标签: etl

我最近接触过一些ETL工具,如Talend和Apatar,我想知道这些工具的目的/主要目标到底是什么。谁主要使用它们,如果你使用它们,它们(根据我的理解)比仅仅编写某种类型的脚本更好。

3 个答案:

答案 0 :(得分:14)

ETL代表“提取/转换/加载”。这些工具从一个来源获取数据并将其移动到另一个来源。您可以以独特的方式将模式从源映射到目标,在数据移动到目标之前转换和清理数据,并以有效的方式加载目标。您可以将ETL作业计划为批处理。

这些数据源可以是关系数据库,电子表格,XML文件等。


谁“使用”他们?取决于“使用”的含义。它们只是代码而且大部分时间都被安排为常规操作的一部分。没有最终用户功能。它们完全适合程序员创建和操作。

优于脚本?没有。它们是用特定于域的语言(DSL)编写的脚本,完全集中在从源“提取”,“转换”和“加载”到目标。脚本的大多数有趣部分是每个阶段的逐字段映射。

答案 1 :(得分:4)

ETL只是获取数据,对其做一些事情,将数据粘贴到某处。

  1. 提取 - 从某处获取数据(该位置称为源)。源可以是文件,数据库表,管道等。

  2. 转换 - 对源数据执行某些操作。例如。你的来源包含人和生日,所以你可以"转换"确定此人年龄的数据。

  3. 加载 - 获取转换后的数据并将其放在某处,例如不同的数据库或同一数据库。这被称为目标。几乎任何可以作为源的数据存储类型也可以用作目标。


  4. 一些例子:

    1. 从DB2中的数据仓库中提取数据。使用过滤器转换数据,仅发送与特定日期范围匹配的数据。将过滤后的数据加载到SQL Server数据集市中。

    2. 从XML文件中提取数据。转换数据,使数据变得平坦"成行。将数据加载到逗号分隔文件中。

    3. 提取管道或队列(例如IBM MQ)上的数据。通过解析排队消息中的关键字段来转换数据。将解析后的数据加载到大型机中。


    4. 一些工具:

      1. 大笔资金,企业级:Ab Initio,Informatica,IBM的数据存储

      2. 价格较低:Jitterbit,Talend

      3. 中间的某个地方:SQL Server的SSIS


      4. 谁使用它们? 主要是需要构建和维护复杂数据仓库的公司将投资ETL工具。 ETL工具通常是可视化设计工具,允许您直观地构建ETL程序,而不是仅使用编程技术。

答案 2 :(得分:2)

ETL通常用于数据仓库应用程序。

例如,您可能拥有Oracle或Sql Server订单处理系统。这可能会保留所有数据,直到订单发货,但您不希望多年的旧订单堵塞系统。

此外,您公司可能有多个这样的系统,它们都是相互独立开发的。

因此,为了整合历史数据,您可以设置一个数据仓库,其中来自所有这些不同系统的数据最终结束,这为您提供了报告,规划,数据挖掘等的好地方。

由于所有数据源都不同,并且您希望长期存储的数据类型可能与较小数据库中的数据不同,因此您需要设置ETL系统来转换和管理数据流。 / p>