Поскольку узкие преобразования Spark слиты, а обработка чередуется, практически невозможно точно измерить время ввода-вывода в реальном конвейере.
Если вас интересует оценка производительности хранилища, вы можете создать минимальноетест для чтения:
sc.readText(...).foreach(_ => ())
и тест для записи:
// Prepare and cache data
val rdd = sc.parallelize(Seq(...)).cache
rdd.foreach(_ => ())
// Measure only this action
rdd.saveAsTextFile(...)
или эквивалент в зависимости от формата, который вас интересует.
Если у вас есть эти два, вы можетеполучить подробную статистику времени выполнения из Spark REST API .