You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Spark UI中仅显示show()操作而groupBy等算子未出现?

Spark 聚合算子未在Spark UI独立显示的问题

我当前有一个使用Spark的项目,需要对DataSet计算部分平均值,实现逻辑如下:

public void calculateAverages() {
    this.data.show();
    String format = "HH";

    // 对数据集做处理,使Time列仅保留小时值
    Dataset<Row> df = this.data.withColumn("Time", functions.from_unixtime(functions.col("Time").divide(1000), format));

    df.show();

    // 按小时(HH)对行分组
    RelationalGroupedDataset df_grouped = df.groupBy("Time");

    // 对各列计算平均值
    Dataset<Row> df_averages = df_grouped.agg(
            functions.avg(column_names[0]),
            functions.avg(column_names[1]),
            functions.avg(column_names[2]),
            functions.avg(column_names[3]),
            functions.avg(column_names[4]),
            functions.avg(column_names[5]),
            functions.avg(column_names[6])
        );

    // 按00到24的时间顺序排列行
    Dataset<Row> df_ordered = df_averages.orderBy(functions.asc("Time"));
    
    // 在控制台展示结果
    df_ordered.show();
}

此处this.data的定义为Dataset<PowerConsumptionRow> data,其中PowerConsumptionRow是自定义类。

按照代码逻辑,我原本预期groupBy、agg、orderBy这些操作会作为Stage显示在Spark用户界面中,但实际仅能看到show()操作:

Spark ui

这些操作实际都已正常执行,因为最终show()的输出结果是正确的,请问是什么原因导致这些算子没有在Spark UI中显示?

内容的提问来源于stack exchange,提问作者K. Tilman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 10:36:03