首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有一种方法可以使用Spark结构化流计算每天的聚合量?

是否有一种方法可以使用Spark结构化流计算每天的聚合量?
EN

Stack Overflow用户
提问于 2021-06-29 17:26:28
回答 1查看 245关注 0票数 0

我计划使用结构化流来计算不同指标的每日聚合。

每天的数据量< 1000条记录。

以下是输入数据的简单示例

代码语言:javascript
运行
复制
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

预期产出

代码语言:javascript
运行
复制
Day, Amount
1/1/20, 700
1/2/20, 1100

我计划在结构化流中做这样的事情,不确定它是否有效,或者它是否是正确的方法?

parsedDF.withWatermark("date", "25 hours").groupBy("date", window("date", "24 hours")).sum("amount")

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-29 20:26:06

运行结构化流会产生大量开销。如果您每24小时编写一次代码来生成单个结果,那么如果您可以在交易中多花几分钟时间来使用更少的资源,那么似乎更好地利用了资源来执行以下操作。

aggregate(s)

  • Schedule

  • 将数据放入一个表中,由

  • 按天进行分区,然后对该表编写一个简单的SQL查询,以生成每天的

  • 作业,以便在午夜后运行水印。

这给人的印象是,您处于默认的输出模式,因为您没有指定输出模式。如果您想继续使用流,那么代码中的更多上下文以及您的目标将是有帮助的。例如,您多久需要一次结果,并且在一天结束之前是否需要部分结果?您希望等待迟来的数据更新聚合多久?您打算使用什么输出模式?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68183181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档