Java 为什么spark ui中只显示show()操作?
我目前有一个使用spark的项目。对于本项目,我们在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
数据集上计算一些平均值,如下所示:
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等)而发生任何洗牌操作时创建作业。因此,您不会在作业描述中看到这一点。