apache-flink - Hazelcast Jet 和 Apache Flink 有什么区别

标签 apache-flink hazelcast-jet

更具体地说,Hazelcast Jet 解决了哪些 Flink 无法解决(同样好)的用例,反之亦然?

最佳答案

注意:我属于 Hazelcast Jet 的核心工程团队。

我想说 Hazelcast Jet 的主要优势不在于提供全新的计算模型,而是为基于 DAG 的分布式计算领域带来与 Hazelcast 众所周知的相同水平的便利性。

如果您当前有一个 Java 应用程序在集群中运行,添加 Jet 将是一件轻而易举的事:添加 Maven 依赖项并编写一行代码以在本地成员上启动一个 Jet 实例。实例将自我发现以形成自己的集群,您现在可以将作业提交给它。

如果您想要一个专用的分布式计算集群,您可以将分发 ZIP 下载到集群机器上。 Jet 原生支持最流行的云环境,让您开始自我发现节点。然后,您可以使用 Jet 客户端连接到集群。

不用说,Jet 让 Hazelcast 的使用变得非常方便 IMapIList作为数据源。 Jet 集群可以直接托管 Hazelcast 结构;然后您将从数据局部性中受益并在没有网络流量的情况下获取数据。另一方面,数据源的选择完全不受限制,并且有专门用于实现快速、任意分区的自定义数据源的公共(public) API。

Jet 解决了无限流处理的问题,例如在基于时间的窗口上聚合、处理重新排序的事件和对集群拓扑变化的弹性(例如,单个 Jet 节点的故障),同时保持 Exactly-Once 处理保证。

Jet 的主要编程范式是 Pipeline API,它与 java.util.stream 非常相似。 API 但适用于分布式计算的细节(lambda 序列化和其他问题)。

Pipeline API 建立在一个较低级别的基于 DAG 的模型之上,该模型也作为公共(public) API 公开。

关于apache-flink - Hazelcast Jet 和 Apache Flink 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42243347/

相关文章:

java - 从kafka到redis的flink管道

java - Hazelcast keySet 流媒体?

java - 'withIngestionTimestamps()' 在 Hazelcast Jet Pipeline 中到底有什么用?

apache-flink - Apache Flink 设置运算符 Uid 与 UidHash

java - 如何重新启动 flink 作业以使用添加的 TaskManager

apache-flink - apache flink - 错误处理的正确方法

java - 如何在 BatchStage Hazelcast Jet 上应用 python

java - Hazelcast Jet 丢弃空聚合结果

java - 是否可以嵌套 Hazelcast Jet 管道,以便内部管道可以计算外部管道的结果?

apache-flink - Flink Process Function 未将数据返回到 Sideoutputstream