代码之家  ›  专栏  ›  技术社区  ›  Javed Ahamed

ETL工具…它们到底做什么?请用外行术语[关闭]

etl
  •  6
  • Javed Ahamed  · 技术社区  · 17 年前

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

    3 回复  |  直到 17 年前
        1
  •  15
  •   duffymo    17 年前

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

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


    谁“使用”它们?这取决于你所说的“使用”是什么意思。它们只是代码,大多数情况下,它们被安排为常规操作的一部分。没有最终用户功能。它们完全由程序员创建,由操作人员操作。

        2
  •  4
  •   the_rj    12 年前

    ETL就是简单地获取数据,对其进行处理,将数据粘贴到某个地方。

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

    2. 转换-对源数据执行某些操作。例如,您的来源包含人员和出生日期,因此您可以“转换”数据以确定人员的年龄。

    3. 加载-将转换后的数据放在某个地方,例如不同的数据库或相同的数据库。这就是所谓的目标。几乎任何类型的数据存储都可以作为源,也可以作为目标。


    一些例子:

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

    2. 从XML文件中提取数据。转换数据,以便将数据“展平”为行。将数据加载到逗号分隔的文件中。


    一些工具:

    1. 大赚一笔,企业级:从头开始,Informatica,IBM的Datastage

    2. 便宜的:神经过敏,泰伦德

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


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

        3
  •  2
  •   Mark Harrison    17 年前

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

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

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

    因此,为了整合历史数据,您可以建立一个数据仓库,所有这些不同系统的数据都将在该仓库中结束,从而为您提供一个进行报告、规划、数据挖掘等工作的好地方。

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

    推荐文章