什么算作ETL?
Posted
技术标签:
【中文标题】什么算作ETL?【英文标题】:What counts as ETL? 【发布时间】:2018-10-03 05:25:03 【问题描述】:我知道 ETL 代表将数据提取、转换和加载到新的目标数据库中。但是在什么范围内它仍然算作ETL?例如,如果我想将包含 7000 条记录的联系人数据库移动到 CRM 软件中,这个过程是否也算作 ETL?
【问题讨论】:
【参考方案1】:ETL 代表数据的提取、转换、加载阶段。从数据源中提取,将提取的数据转换并加载到目标数据源中。
每当您在一个地方执行 EXTRACT 并在另一个地方执行 LOAD 时,您的流程仍然会进入 ETL。 ETL 可能不会在每个场景中都涉及 TRANSFORM,因为它是直接的数据加载。大多数情况下,都会对数据进行 TRANSFORM 以适应目标环境/模式。
回答你的问题,是的。您的记录加载属于 ETL 的权限范围。但是,在您的情况下,它没有 TRANSFORM 阶段。
【讨论】:
我的观察是,野外的 ETL 有时会扩展定义。这有点像把煤从一堆铲到另一堆……【参考方案2】:正如 Venkataraman R 所说,您没有转换阶段,这就是您的工作不能真正被视为 ETL 的原因。
通常,转换部分将包括某种数据映射(例如,标准化国家代码或提取国家代码 USA -> US;TUR -> TR)。除了大量查找验证和映射之外,您还需要进行一些常规清理,例如删除不良数据、正确的格式化(如标题大写)、返工 keys 在数据仓库的情况下)。在准备机器学习训练的情况下,您还可以进行imputation、binning 和normalization。但我认为最重要的是删除重复项,因为它可能会导致聚合问题。
如果您将现有数据中的一组新数据导出为聚合形式,则也被视为转换。这意味着您以某种方式将数据分组在一起(SUM/AVG/MAX),这样当工具使用数据时,它不再需要自己执行聚合,从而最大限度地减少计算和带宽需求。
【讨论】:
【参考方案3】:我认为有趣的是,自从提出这个问题以来,出现了一组全新的 tools,他们称自己为“Reverse ETL”,它们会按照您所说的方向同步数据:从数据库/仓库进入诸如 CRM 系统之类的东西。例如,从 Postgres 到 Salesforce 或 Marketo。
“反向”部分似乎承认这与 ETL 通常在历史上的发展方向相反。
【讨论】:
以上是关于什么算作ETL?的主要内容,如果未能解决你的问题,请参考以下文章