带聚合的火花流

时间:2016-05-05 19:42:50

标签: apache-spark spark-streaming spark-dataframe

我试图在聚合原则方面理解火花流。 Spark DF基于迷你批次,计算在特定时间窗口内的迷你批次上完成。

假设我们有数据 -

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

..

然后首先计算Window_period_1,然后是Window_period_2。如果我需要使用新的传入数据和历史数据,请说明Window_period_new与Window_period_1和Window_period_2中的数据之间的groupby函数,我该怎么做?

另一种看待相同事情的方法是,如果我有一个要求,其中已经创建了一些数据框 -

df1,df2,df3和我需要运行一个聚合,它将涉及来自的数据 df1,df2,df3和Window_period_1,Window_period_2以及所有新的传入流数据

我该怎么做?

1 个答案:

答案 0 :(得分:2)

Spark允许您在rdd(带检查点)中存储状态。因此,即使重新启动,作业也会从检查点恢复状态并继续流式传输。

但是,我们遇到了检查点的性能问题(特别是在恢复状态后),所以使用一些外部源(如hbase)实现storint状态是值得的