首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ETL框架需要具备哪些功能?

ETL框架需要具备哪些功能?
EN

Stack Overflow用户
提问于 2009-08-24 09:41:17
回答 3查看 2.6K关注 0票数 11

我正在写一个ETL (在python中有一个mongodb后端),我想知道:一个ETL应该有什么样的标准函数和工具才能被称为ETL?

这个ETL将尽可能具有通用性,采用可脚本化和模块化的方法。大多数情况下,它将用于保持不同数据库的同步,以及以不同格式(xml和csv)导入/导出数据集。我不需要任何多维工具,但有可能以后会需要它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-24 10:26:52

让我们考虑一下ETL用例。

  1. Extract。
    • 通过通用DB-API适配器读取数据库。
    • 通过类似的适配器读取平面文件。
    • 通过类似的adapter.

读取电子表格

  1. 清理。data

  • Arbitrary
  • Filter和reject
  • Replace
  • Add列

  1. 配置文件数据。
    • 统计频率tables.

cleanse

  • 转换(请参阅cleanse,它们是具有相同implementation)

  • Do维度一致性查找的两个用例。将值替换为
  • ,或添加values.

  1. 聚合。pipeline

中任意时间点的

  1. Load。使用
    • 或准备一个平面文件并运行DB产品的loader.

此外,还有一些不是单一用例的额外需求。

  • 每个单独的操作都必须是一个单独的进程,可以在Unix管道中连接,各个记录从一个进程流动到另一个进程。这将占用所有CPU资源。对于那些在推理上有困难的地方,你需要某种基于时间的调度器preconditions.
  • You需要一个基于事件的调度器,它可以找出
  • 处理步骤的前提条件。

请注意。因为ETL是受I/O限制的,所以多线程对你没什么好处。由于每个进程都要运行很长时间--特别是当您有数千行数据要处理时--“重量级”进程的开销不会有任何影响。

票数 16
EN

Stack Overflow用户

发布于 2009-08-24 09:49:34

下面是一个随机列表,没有特定的顺序:

连接到广泛的源,包括所有主要的关系型databases.

  • Handle非关系型数据源,如文本文件、Excel、XML等。
  1. 允许将多个源映射到单个databases.
  2. Handle,这是一个帮助从源字段映射到目标字段的工具。
  3. 提供了一个框架,用于在will.
  4. Programmable
  5. 中注入转换,以便编写复杂的transformations.
  6. Optimize加载过程,以提高速度。
票数 4
EN

Stack Overflow用户

发布于 2009-08-24 11:38:42

列名的自动/启发式映射。例如简单的字符串映射:

DB1: customerId

DB2: customer_id

我发现我在DTS / SSIS中所做的很多工作都可以自动生成。

  • 不一定是“必需的功能”,但确实会让很多用户非常满意。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1321396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档