题
在哪里可以找到 Pentaho Kettle 架构?我正在寻找一个简短的 wiki、设计文档、博客文章,以及任何可以很好地概述事物如何工作的内容。这个问题并不是针对具体的“如何”入门指南,而是对技术和技术的良好看法。 建筑学.
我的具体问题是:
- 数据在步骤之间如何流动?似乎一切都在记忆中——我的说法正确吗?
- 上述对于不同的转换也成立吗?
- 怎么样? 收集 实施的步骤?
- 使用它有什么具体的性能指南吗?
- ftp 任务可靠且高性能吗?
- 还有其他“注意事项”吗?
解决方案
看 这个PDF.
其他提示
- 数据如何在步骤之间流动?似乎一切都在记忆中 - 我对此做对吗?
数据流是基于行的。对于转换,每个步骤都会生成一个“元组”或带有字段的行。每个字段都是一对数据和一个元数据。每一步都有输入和输出。步骤从输入中获取行,修改行并将行发送到输出。在大多数情况下,所有信息都在内存中。但。步骤以流方式读取数据(如 jdbc 或其他) - 因此通常在内存中只有流中数据的一部分。
- 上述对于不同的转换也成立吗?
有一个“工作”概念和“转型”概念。上面所写的内容对于转换来说大部分都是正确的。大多数 - 意味着转换可以包含非常不同的步骤,其中一些 - 例如收集步骤 - 可以尝试从流中收集所有数据。作业 - 是一种执行一些不遵循“流”概念的操作的方法 - 例如成功时发送电子邮件、从网络加载一些文件、逐一执行不同的转换。
- 收集步骤是如何实施的?
它仅取决于特定步骤。通常如上所述 - 收集步骤可能会尝试从流中收集所有数据 - 如此 - 可能是 OutOfMemory 异常的原因。如果数据太大 - 考虑用不同的方法替换“收集”步骤来处理数据(例如使用不收集所有数据的步骤)。
- 使用它有什么具体的性能指南吗?
很多。取决于转换的步骤、所使用的数据源。我会尝试谈论具体的场景,而不是一般的指导方针。
- ftp 任务可靠且高性能吗?
据我记得 ftp 由 EdtFTP 实现支持,并且该步骤可能存在一些问题,例如 - 某些参数未保存,或 http-ftp 代理不起作用或其他。我想说 Kettle 总体上是可靠且高性能的 - 但对于一些不常用的场景 - 可能并非如此。
- 还有其他“注意事项”吗?
我想说,要做的就是在开始集中使用工具之前先了解它。正如本次讨论中提到的 - 有一些关于 Kettle/Pentaho 数据集成的文献,您可以尝试在特定站点上搜索它。
Pentaho Data Integration/Kettle 的优点之一是相对较大的社区,您可以询问具体方面。