Я пытаюсь найти время выполнения для приведенного ниже кода
public Dataset<Row> loadData(SparkSession spark, String url, String query, String driver) {
long startTime=System.nanoTime();
Dataset<Row> readDataFrame= spark.read()
.format("jdbc")
.option("url", url)
.option("dbtable", query)
.option("driver", driver)
.load();
long endTime=System.currentTimeMillis();
System.out.println((endTime-startTime)/1000000);
return readDataFrame;
}
Приведенный выше код дал мне время как 20 мс. Теперь я добавил действие ниже, например
long startTime=System.nanoTime();
Dataset<Row> readDataFrame= spark.read()
.format("jdbc")
.option("url", url)
.option("dbtable", query)
.option("driver", driver)
.load();
long count=readDataFrame.count();
long endTime=System.currentTimeMillis();
System.out.println((endTime-startTime)/1000000);
return readDataFrame;
Этот код дал мне 2000 мс в качестве ответа, что, я полагаю, является правильным.
Теперь у нас уже есть действие позже в коде и не хочу использовать persist, так как могут быть проблемы с памятью. Есть ли хороший способ найти время для этого readDataFrame?