【问题标题】:How to use datatorrent in a kappa architecture?如何在 kappa 架构中使用 datatorrent?
【发布时间】:2016-11-23 13:43:49
【问题描述】:
我阅读了很多关于 lambda 和 kappa 架构的文章,在这些架构中我们需要使用 Apache Spark 或 Apache Storm。我刚刚发现了一个名为 DataTorrent 的新工具,它可以进行批处理和实时处理。我想知道 DataTorrent 是否可以同时做 lambda(或 kappa)架构的批处理和速度层?
干杯,
【问题讨论】:
标签:
apache-spark
apache-storm
apache-apex
lambda-architecture
【解决方案1】:
Apache apex 或 Datatorrent RTS 允许您的团队在单个处理框架上进行开发、测试、调试和操作。
尽管在 Apache apex 文档中没有明确提及 kappa 架构,但 IMO 可以使用它来服务 kappa 架构。
Apache apex 将为容错、检查点、恢复提供内置支持。因此,您可以依靠 Apex 中的单个数据流 DAG 以低延迟获得可靠的结果。在 Apex 上使用 DAG 定义应用程序时,无需单独的批处理层和速度层。
但是,请注意,Apache Apex 是流计算引擎的一个示例。对于完整的 Kappa 架构,您将结合
日志存储+流计算引擎+服务层存储。
【解决方案2】:
DataTorrent 可用于满足 Kappa 架构要求。您可以同时处理批处理数据和实时流数据。
Datatorrent 是连续流模型,其中批处理数据像流一样通过 DAG 流动,而 Spark 中流数据以批处理的形式流动。
您可能需要使用不同的运算符端口从不同的输入源输入数据,并且数据的内存计算由端口上的平台调用负责。
这就像有一个接收器(DT 中的运算符)由两个管道(输入端口)馈送。