📜  数据仓库中的 ETL 流程

📅  最后修改于: 2021-09-08 16:15:58             🧑  作者: Mango

ETL 是数据仓库中的一个过程,它代表ExtractTransformLoad 。这是一个 ETL 工具从各种数据源系统中提取数据,在暂存区进行转换,最后加载到数据仓库系统中的过程。

让我们深入了解ETL过程的每一步:

  1. 萃取:
    ETL 过程的第一步是提取。在这一步中,从各种源系统中提取数据,这些数据可以是各种格式,如关系数据库、No SQL、XML 和平面文件,并将其放入暂存区。重要的是从各种源系统中提取数据并将其首先存储到暂存区而不是直接存储到数据仓库中,因为提取的数据具有各种格式并且也可能被损坏。因此直接将其加载到数据仓库中可能会损坏它并且回滚将更加困难。因此,这是ETL过程中最重要的步骤之一。
  2. 转型:
    ETL 过程的第二步是转换。在此步骤中,对提取的数据应用一组规则或函数,将其转换为单一标准格式。它可能涉及以下流程/任务:

    • 过滤——仅将某些属性加载到数据仓库中。
    • 清理——用一些默认值填充 NULL 值,将美国、美国和美国映射到美国等。
    • 加入 – 将多个属性合并为一个。
    • 拆分 – 将单个属性拆分为多个属性。
    • 排序 – 根据某些属性(通常是键属性)对元组进行排序。
  3. 加载:
    ETL 过程的第三步也是最后一步是加载。在这一步中,转换后的数据最终被加载到数据仓库中。有时数据通过非常频繁地加载到数据仓库中来更新,有时在更长但有规律的间隔后完成。加载的速率和周期完全取决于要求,并且因系统而异。

ETL 过程也可以使用流水线概念,即一旦提取了一些数据,它就可以进行转换,在此期间可以提取一些新数据。在将转换后的数据加载到数据仓库时,可以转换已经提取的数据。 ETL流程流水线框图如下图所示:

ETL 工具:最常用的 ETL 工具是 Sybase、Oracle Warehouse builder、CloverETL 和 MarkLogic。