Apache spark 聚合火花流

Apache spark 聚合火花流,apache-spark,spark-streaming,spark-dataframe,Apache Spark,Spark Streaming,Spark Dataframe,我试图从聚合原则的角度理解spark streaming。 Spark DF基于小批量,并在特定时间窗口内对小批量进行计算 假设我们有数据作为- Window_period_1[Data1, Data2, Data3] Window_period_2[Data4, Data5, Data6] .. 然后首先对窗口周期进行计算,然后对窗口周期进行计算。如果我需要将新的传入数据与历史数据一起使用,比如说,在Window_period_new和Window_period_1和Wi

我试图从聚合原则的角度理解spark streaming。 Spark DF基于小批量,并在特定时间窗口内对小批量进行计算

假设我们有数据作为-

    Window_period_1[Data1, Data2, Data3]
    Window_period_2[Data4, Data5, Data6] 

..
然后首先对窗口周期进行计算,然后对窗口周期进行计算。如果我需要将新的传入数据与历史数据一起使用,比如说,在Window_period_new和Window_period_1和Window_period_2的数据之间使用groupby函数,我该怎么做

另一种看待同样事情的方式是假设我有一个已经创建了一些数据帧的需求-

df1、df2、df3和我需要运行一个聚合,该聚合将涉及来自 df1、df2、df3和窗口周期1、窗口周期2,以及所有新传入的流数据


我该怎么做呢?

Spark允许您将状态存储在rdd中(带有检查点)。所以,即使在重启之后,作业也会从检查点和continie流恢复它的状态


然而,我们面临着检查点的性能问题(特别是在恢复状态之后),因此使用一些外部源(如hbase)实现storint状态是值得的。

为了支持Natalia的回答,有许多数据存储连接到spark或与spark集成,可以存储聚合状态(如果检查点不起作用的话)。是其中之一。还有、、和等等。所有这些都有各种优点和缺点。