Я пытаюсь найти время, связанное со следующей операцией в Spark
df = df.withColumn(RANK, functions.rank().over(Window.partitionBy(partitionColumnsList.get(i))
.orderBy(functions.desc(orderingColumn))));
Что-то вроде этого не сработает из-за ленивого выполнения: -
long startTime=System.currentTimeMillis();
df = df.withColumn(RANK, functions.rank().over(Window.partitionBy(partitionColumnsList.get(i))
.orderBy(functions.desc(orderingColumn))));
long endTime=System.currentTimeMillis();
System.out.println("Time taken: "+(endTime-startTime));
Я пробовал используя журналы пользовательского интерфейса искры, но они содержат только поэтапную информацию. Для этого мне понадобится отдельное действие, и мы не хотим, чтобы в нашем коде было много действий.
Для разделов карты я использовал аккумуляторы для расчета времени, но здесь я не могу используй это. Есть ли у кого-нибудь предложения?