Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么spark ui中只显示show()操作?_Java_Apache Spark_Apache Spark Sql_Spark Ui - Fatal编程技术网

Java 为什么spark ui中只显示show()操作?

Java 为什么spark ui中只显示show()操作?,java,apache-spark,apache-spark-sql,spark-ui,Java,Apache Spark,Apache Spark Sql,Spark Ui,我目前有一个使用spark的项目。对于本项目,我们在数据集上计算一些平均值,如下所示: public void calculateAverages() { this.data.show(); String format = "HH"; // Get the dataset such that the time column only contains the hour. Dataset<Row> df = this.data.w

我目前有一个使用spark的项目。对于本项目,我们在
数据集上计算一些平均值,如下所示:

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

    // Get the dataset such that the time column only contains the hour. 
    Dataset<Row> df = this.data.withColumn("Time", functions.from_unixtime(functions.col("Time").divide(1000), format));

    df.show();

    // Group rows by the hour (HH).
    RelationalGroupedDataset df_grouped = df.groupBy("Time");

    // Calculate averages for each column.
    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])
        );

    // Order the rows from 00 to 24. 
    Dataset<Row> df_ordered = df_averages.orderBy(functions.asc("Time"));
    
    // Show in console. 
    df_ordered.show();
}
public void calculateAverages(){
this.data.show();
字符串格式=“HH”;
//获取数据集,使时间列仅包含小时。
数据集df=this.data.withColumn(“Time”,functions.from_unixtime(functions.col(“Time”).divide(1000),format));
df.show();
//按小时(HH)分组行。
RelationalGroupedDataset df_grouped=df.groupBy(“时间”);
//计算每列的平均值。
数据集df_平均值=df_grouped.agg(
functions.avg(列名称[0]),
functions.avg(列名称[1]),
functions.avg(列名称[2]),
functions.avg(列名称[3]),
functions.avg(列名称[4]),
函数.avg(列名称[5]),
functions.avg(列名称[6])
);
//将行从00排列到24。
数据集df_ordered=df_averages.orderBy(functions.asc(“Time”));
//在控制台中显示。
df_ordered.show();
}
此处
this.data
定义为
Dataset data
,其中
PowerConsumptionRow
是一个自定义类

对于此代码,我希望操作
groupBy
agg
orderBy
在spark用户界面中显示为阶段。但是,如下所示,仅显示
show()
操作:


这些行动没有出现有什么原因吗?所有操作都成功执行,因为
show()
的输出是正确的。

PowerConsumptionRow是一个自定义的-您只能执行为类定义的操作。由于我们甚至无法猜测它看起来是什么样子,答案将是纯粹的猜测。
此。数据
映射到表示a的
数据集
。根据Spark UI生成了三个作业。Spark在调用某个操作或由于任何广泛的转换(如join、groupBy等)而发生任何洗牌操作时创建作业。因此,您不会在作业描述中看到这一点。