代码之家  ›  专栏  ›  技术社区  ›  KayV

Spark转换是无状态的还是有状态的?[副本]

  •  0
  • KayV  · 技术社区  · 6 年前

    Apache Spark 吹嘘它的操作符(节点)是“无状态的”。这使得Spark的体系结构可以在恢复、负载平衡和处理掉队者等方面使用更简单的协议。

    Apache Flink 将其运算符描述为“有状态”,并声称有状态对于机器学习等应用程序是必要的。然而,Spark程序能够在RDD中传递信息和维护应用程序数据,而无需维护“状态”。

    这里发生了什么?Spark不是真正的无状态系统吗?还是Flink关于状态性对于机器学习和类似应用程序至关重要的断言是错误的?或者这里还有其他细微差别吗?

    我不觉得我真的在摸索“有状态”和“无状态”系统之间的区别,如果能对它们进行解释,我将不胜感激。

    0 回复  |  直到 6 年前
        1
  •  5
  •   Yuval Itzchakov    5 年前

    状态属性指的是能够访问当前时间点中以前时间点的数据。

    状态 这是积累起来的。

    map , filter 等等,它确实以 mapWithState agg .