【发布时间】:2021-04-24 00:20:56
【问题描述】:
我正在研究将 Apache Spark 用于应用程序。我对使用临时视图和完整 SQL 查询(为了简单和低延迟)的结构化流模式特别感兴趣。
该应用程序需要对单个输入数据流运行多个(数十个,可能数百个)查询。有没有办法避免 Spark 重新读取每个查询的输入?
【问题讨论】:
-
问题不清楚。 “如果组键相同”,“单个”流式查询中的多个聚合应该是可能的。 (只需在“agg()”中添加所有聚合。)如果您正在谈论任意类型的聚合,例如不同的组键,对不起,它们应该是单独的流查询,并且应该重新读取输入。解决方法是下面迈克的回答。 Spark中不存在分叉/拆分流的概念,而其他流框架存在;所以你的下一个赌注是尝试 Flink 来检查你的要求是否得到满足。
标签: apache-spark spark-structured-streaming