注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
在 Foundry 中可以创建三种主要类型的管道,每种类型根据以下几个标准提供不同的权衡:
这三种类型的管道是:
下面,我们将讨论每种类型的管道、其权衡以及如何开始编写此类型的管道。为方便起见,以下是根据上述权衡标准的管道类型总结表。
在批处理管道中,每当上游数据发生变化时,管道中的所有数据集都会被完全重新计算。因为所有内容都被重新计算,管道的端到端性能在时间上是非常一致的,管道的代码和维护复杂性也很小。为了让更多用户能够参与批处理管道的编写,提供了一系列广泛的语言和工具,包括 SQL。
根据上述标准检查批处理管道:
在大多数情况下,您应在 Foundry 中通过创建批处理管道开始管道开发,并在管道的应用案例被验证后扩展以支持增量计算。在许多情况下,您可以无限期地使用批处理管道,特别是如果您的数据规模较低(例如,少于数千万行)。
如果您预计将来需要使管道增量化,我们建议使用 Python 或 Java 进行批处理管道开发,因为这些语言支持增量计算。
通过学习如何在 Pipeline Builder 中创建批处理管道,或通过其他语言的教程开始:
在增量管道中,仅计算自上次搭建以来已更改的数据行或文件。这适合处理事件数据和其他随着时间推移有大量数据更改的数据集。除了减少总体计算量外,与批处理管道相比,管道的端到端延迟可以显著降低。仅提供 Python 和 Java API 用于增量计算。
根据上述标准检查增量管道:
要了解有关增量管道的更多信息,请参考以下资源:
在流式管道中,您的代码会持续运行以处理任何流入 Foundry 的新数据,从而实现最低的延迟水平,但会带来最高的复杂性和计算成本。通常,考虑流式管道时,更像是管理一个微服务而不是管理一个计算任务——您需要非常仔细地考虑正常运行时间、弹性和有状态操作,以成功运行流式管道。
根据上述标准检查流式管道:
在大多数情况下,除非您的应用案例对延迟要求非常低,否则最好避免创建流式管道。增量管道通常可以实现分钟级端到端延迟,以满足大多数需求,而无需承担流式管道的额外复杂性和计算成本。
要了解有关流式管道的更多信息,请参考以下资源:
有关流式管道的更多文档将很快推出。如果您有兴趣构建流式管道,请联系您的 Palantir 代表。