我计划使用结构化流来计算不同指标的每日聚合。
每天的数据量< 1000条记录。
以下是输入数据的简单示例
timestamp, Amount
1/1/20 10:00, 100
1/1/20 11:00, 200
1/1/20 23:00, 400
1/2/20 10:00, 100
1/2/20 11:00, 200
1/2/20 23:00, 400
1/2/20 23:10, 400
预期产出
Day, Amount
1/1/20, 700
1/2/20, 1100
我计划在结构化流中做这样的事情,不确定它是否有效,或者它是否是正确的方法?
parsedDF.withWatermark("date", "25 hours").groupBy("date", window("date", "24 hours")).sum("amount")
发布于 2021-06-29 20:26:06
运行结构化流会产生大量开销。如果您每24小时编写一次代码来生成单个结果,那么如果您可以在交易中多花几分钟时间来使用更少的资源,那么似乎更好地利用了资源来执行以下操作。
aggregate(s)
这给人的印象是,您处于默认的输出模式,因为您没有指定输出模式。如果您想继续使用流,那么代码中的更多上下文以及您的目标将是有帮助的。例如,您多久需要一次结果,并且在一天结束之前是否需要部分结果?您希望等待迟来的数据更新聚合多久?您打算使用什么输出模式?
https://stackoverflow.com/questions/68183181
复制相似问题