拦截和处理中间火花输出

时间:2019-04-12 08:31:19

标签: apache-spark apache-spark-sql sql-execution-plan

假设我有一个这样的SQL查询:

<___T___A___B___>

在幕后,我猜是Spark将其转换为查询计划,即对表进行一些扫描,然后进行投影,以SELECT team, MAX(score) FROM mytable GROUP BY team; 为键将行分组到存储桶中,并在每个存储桶中进行汇总。

我希望能够在分组之后但在最大聚合之前截取中间输出。在使用此中间数据​​结构(可能是围绕RDD的一些包装器)进行了一些自定义处理之后,我想将其传递到下一个阶段(最大聚合)。这可能吗?

我这样做的一个潜在原因是出于安全原因-在最终聚合之前的这一阶段,我可能希望过滤或转换某些数据。我了解这可能会更改SQL查询的语义,但对于这个特定问题,我们将忽略它。

0 个答案:

没有答案