0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ETL和ELT的区别,以及DataLake和DataWarehouse

Posted at

ETL:抽取(Extract)、转换(Transform)、加载(Load)
在关系型数据模型的早期时代,数据通常是结构化的(structured)。
当数据从不同来源被提取出来后,通常会先被转换为所需的格式,再加载到目标位置(如数据库或数据仓库)。
这个过程就叫做:

ETL:Extract(抽取)、Transform(转换)、Load(加载)

即使在机器学习出现之前,ETL 在数据领域就已经非常流行了;
而今天,它在机器学习应用中仍然极为重要。

ETL 是指一种通用的数据处理方式,把原始数据加工成你想要的形状与格式。

1️⃣ 抽取(Extract)
从数据源中提取你所需要的数据。

数据可能来自多个来源,格式不统一;

有些数据可能是损坏的或格式不正确的;

在抽取阶段,你需要:

对数据进行校验(validate);

对不合格的数据进行剔除(reject);

甚至可能需要通知数据来源方修复这些问题。

因为这是整个流程的第一步,所以如果这一步做好了,可以为后续节省大量时间和精力。

2️⃣ 转换(Transform)
这是整个流程中最核心的步骤,大部分的数据处理工作都在这一步完成。

可能会包括以下操作:

从多个来源的表中 连接(join) 数据;

清洗(clean) 数据;

统一字段格式/取值(例如:有的数据源用 "Male"/"Female",有的用 "M"/"F",还有的用 "1"/"2");

进行操作:转置、去重、排序、聚合、特征派生、新一轮校验等等。

3️⃣ 加载(Load)
决定如何、以及多频率地将处理后的数据加载到目标位置:

可以加载到文件、

或 数据库、

或 数据仓库(data warehouse)。

📌 虽然 ETL 的概念很简单,但它却是许多公司数据系统的核心架构基础。
书中图 2-9 展示了 ETL 流程的整体概况。

从 ETL 到 ELT:数据爆炸时代的转变
当互联网普及、硬件性能飞跃之后,数据采集变得容易,而数据量也随之极速增长。

不仅数据量变多了,数据的形态也发生了变化:

数据来源增加;

数据结构(schema)不断演化。

为了解决 schema 频繁变动的问题,有公司提出了一个新思路:

“我们干脆先把所有数据丢进一个**数据湖(data lake)**吧,
等用的时候再去读取原始数据加工。”

这种思路叫做:

ELT:Extract(抽取)→ Load(加载)→ Transform(转换)

ELT 的优势在于:

数据到达很快;

无需提前加工,就能先存储下来。

📉 但 ELT 并不完美
随着数据不断增长,ELT 也暴露出问题:

在庞大的原始数据中搜索目标数据会变得效率极低;

而随着公司转向 云端运行应用,基础设施标准化,数据结构也逐渐趋于稳定;

将数据写入预定义 schema 变得更加可行。

🏗️ 新趋势:数据湖 + 数据仓库 = Data Lakehouse
企业在权衡:

存储结构化数据(高性能) vs

存储非结构化数据(高灵活性)

于是,出现了一种融合架构:

Lakehouse(湖仓一体)解决方案

比如:

✅ Databricks

✅ Snowflake

这类平台提供的功能既有 数据湖的灵活性,又具备 数据仓库的结构化管理能力。

如需我为你:

对比 ETL 与 ELT 在实际工程中的优劣;

展示 Spark 或 Airflow 构建的 ETL 流程示例;

推荐 Lakehouse 架构下的 ML 数据管道设计;

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?