我正在编写一个 ETL(在带有 mongodb 后端的 python 中)并且想知道:应该将 ETL 什么样的标准函数和工具称为 ETL?
此 ETL 将尽可能通用,采用可编写脚本和模块化的方法。大多数情况下,它将用于使不同的数据库保持同步,并以不同的格式(xml 和 csv)导入/导出数据集。我不需要任何多维工具,但以后可能会需要它。
我正在编写一个 ETL(在带有 mongodb 后端的 python 中)并且想知道:应该将 ETL 什么样的标准函数和工具称为 ETL?
此 ETL 将尽可能通用,采用可编写脚本和模块化的方法。大多数情况下,它将用于使不同的数据库保持同步,并以不同的格式(xml 和 csv)导入/导出数据集。我不需要任何多维工具,但以后可能会需要它。
让我们考虑一下 ETL 用例。
此外,还有一些不是单一用例的附加要求。
每个单独的操作都必须是一个单独的进程,可以在 Unix 管道中连接,各个记录从一个进程流向另一个进程。这会使用所有CPU 资源。
您需要某种基于时间的调度程序来处理难以推理出 ETL 前提条件的地方。
您需要一个基于事件的时间表来确定 ETL 处理步骤的先决条件。
笔记。由于 ETL 是 I/O 绑定的,因此多线程对您没有什么好处。由于每个进程都运行了很长时间——尤其是如果你有数千行数据要处理——“重量级”进程的开销不会受到伤害。
这是一个随机列表,没有特别的顺序:
列名的自动/启发式映射。例如简单的字符串映射:
DB1:客户 ID
DB2:客户 ID
我发现我(已经)在 DTS / SSIS 中完成的很多工作都可以自动生成。