ETL 是什么?数据提取、转换和加载 已翻译 100%

oschina 投递于 08/15 17:34 (共 12 段, 翻译完成于 08-17)
阅读 1545
收藏 44
1
加载中

提取、转换、加载(ETL)是一个成熟的过程,它使组织能够利用不同的数据,而不管数据驻留在何处或存储数据的格式如何。随着时间的推移,ETL随着业务需求的发展,支持NoSQL数据库中的流数据和非结构化数据以及关系数据库中的结构化数据

ETL为什么如此重要?无论这些决策是基于电子表格、商业智能系统、分析仪表板还是机器学习,数据质量都会影响业务决策的可靠性。

liyue李月
liyue李月
翻译于 08/15 18:43
0

ETL是如何工作的

ETL涉及三个独立的过程:提取、传输和加载。工作流程往往作为一个正在进行的过程来实现。

该过程首先从目标源提取数据,目标源可能包括ERP、CRM和其他企业系统,以及来自第三方源的数据。不同的系统倾向于使用不同的数据格式,这些格式被规范化为一种通用格式,以便进一步处理。

提取、转换和加载过程是当今企业数据管理的重要组成部分。

ZICK_ZEON
ZICK_ZEON
翻译于 08/16 14:30
0

转换阶段确保了数据的可用性。转换过程可能包括:

  • 汇总——汇总数据

  • 应用业务规则——例如,确保数据可以用于或用于其预期目的

  • 清洁-识别和纠正错误

  • 清除重复记录

  • 过滤——根据一些标准选择和/或排除数据,比如Palo Alto的居民

  • 映射——确定来自不同系统(如J. Smith和John Smith)的两段数据之间的关系

  • 连接-从两个或多个记录中组合数据

  • 排序——数字排序、字母排序、时间排序、反向排序、区域排序等。

  • 转置—将行旋转为列,反之亦然

  • 分割——将一列分成两列或两列以上

  • 验证—确保数据已被清理,并符合预定义的数据质量标准

在加载阶段,数据被加载到目标目的地,目标目的地可以是数据仓库、云环境或分隔的平面文件。

liyue李月
liyue李月
翻译于 08/15 18:46
0

临时和永久数据

ETL系统可以使用临时数据或永久数据,这取决于用例。例如,临时数据(数据的子集)可以用于报告或分析。永久数据可以从一个数据库迁移到另一个数据库,也可以从一个数据仓库迁移到另一个数据仓库。

现实生活中的ETL

ETL循环的处理方式如下:

  • 启动周期

  • 建立参考数据

  • 从资源中提取数据

  • 验证

  • 变换

  • 阶段

  • 审计报告

  • 发布到目标表

  • 存档

  • 清理

liyue李月
liyue李月
翻译于 08/15 18:48
0

数据迁移

数据迁移是数据从一台计算机、数据库、应用程序或存储设备到另一台计算机的移动。当组织实现It能力的现代化,用另一个供应商的产品替换一个供应商的产品,或者整合技术生态系统(例如在合并和收购期间)时,通常会这样做。在整合场景中,数据映射是必要的,因为现有系统和新系统倾向于使用不同的数据格式并以不同的方式组织数据。

尽管数据迁移倾向于自动进行,以加速流程并减少手工错误的可能性,但仍然需要小心处理,以避免不必要的业务中断。在执行迁移之前,应该了解并处理任何技术约束,以避免不必要的延迟或失败。同时,应该为终端用户提供充足的提前通知,并且迁移应该在对业务影响最小的时候(例如,在午夜,周末等等)进行计划。

liyue李月
liyue李月
翻译于 08/15 18:49
0

数据流和控制流

数据流是数据从一个地方移动到另一个地方。在ETL过程中,目标源通过转换到目标目标。

控制流程确保处理任务已经按照正确的顺序完成。任务的优先级是线性的,这需要一个进程在另一个进程开始之前完成。

虽然控制流执行数据流任务,但是数据流(数据流任务)中的任务可以在完成之前触发另一个任务,这意味着数据流任务可以并行执行。

由于欧盟的通用数据保护法规(GDPR),数据流映射工具变得非常重要,因为组织需要解释他们正在处理什么个人身份信息(PII)以及他们如何处理这些信息。

liyue李月
liyue李月
翻译于 08/15 18:51
0

并行处理

随着数据的快速增长,数据存储的可伸缩性变得非常重要,因此ETL软件现在也在利用并行处理的优势也就不足为奇了。当然,它的优点是提高了速度和可伸缩性,这在数据量不断增长的情况下是必要的。

并行处理能够:

  • 并行数据访问

  • 并行任务执行

  • 并行流程执行

liyue李月
liyue李月
翻译于 08/15 18:52
0

重启,可恢复性

数据仓库过程考虑到故障,因此ETL过程可以重新运行并从运行错误中恢复。与其运行一个庞大的ETL进程,不如将该进程分解成按顺序或并行运行的更小的部分。每个数据流都标记了流程的行和元素,因此如果发生故障,就知道故障点。如果发生故障,则将ETL进程回滚到故障点,以便从该点重新运行该进程。

liyue李月
liyue李月
翻译于 08/15 18:54
0

键的重要性

关系数据库使用键来建立和识别表之间的关系。键还用于标识表内的记录或数据行:

  • 唯一键是标识特定实体的列

  • 组合键包含几个列
  • 外键是另一个表中引用主键的键
  • 主键是单个属性或多个属性,它们惟一地标识表中的一行

在数据仓库中,键非常重要,因为数据是从不同数据源加载到数据仓库中的。不同的数据源可能使用不同的属性作为主键。如果这样做,数据仓库可能要求将它们合并到一个维度中,该维度包含由各种主键表示的所有属性。

liyue李月
liyue李月
翻译于 08/16 09:43
0

虚拟ETL

虚拟ETL利用虚拟数据来克服数据迁移和处理多个数据源的应用程序集成带来的一些挑战。从各种数据源收集的对象或实体被抽象出来,目的是创建内存或持久元数据存储库。持久元数据存储库允许ETL工具作为中间件进行持久化,这样数据协调和分析就可以在接近实时的情况下持续执行。

ETL与ELT

ETL和ELT涉及相同的过程,尽管顺序不同。ETL是自数据仓库出现之前就开始使用的传统流程顺序。大数据分析推动了 ELT,的普及,数据多样性也是如此。

ELT将提取的数据加载到进行转换的数据仓库中。与ETL不同,ELT不使用单独的转换引擎,它使用数据存储的处理能力来简化体系结构并加速转换过程。


liyue李月
liyue李月
翻译于 08/16 09:46
0
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(2)

d
dasas12x

引用来自“久永”的评论

其实就是“数据交换平台”的技术,不过国内行业都是蒙皮,又有谁愿意去做这方面的核心技术实现,或者市场又有几分成熟度允许做这些技术核心的企业活下来呢?
达梦ETL :smile:
久永
久永
其实就是“数据交换平台”的技术,不过国内行业都是蒙皮,又有谁愿意去做这方面的核心技术实现,或者市场又有几分成熟度允许做这些技术核心的企业活下来呢?
返回顶部
顶部