Как записать, сколько времени занимают операции IO? - PullRequest
0 голосов
/ 24 октября 2018

Хотелось бы узнать, знает ли кто-нибудь о том, сколько времени Спарк тратит на чтение и запись, особенно чтение, из файла.

Поскольку СДР лениво оцениваются, можно ли рассчитывать время, которое занимает одно преобразование?Чтение из файла не будет выполнено, пока я не выполню над ним какое-либо действие, но мне нужны только временные результаты преобразования чтения.Любые предложения о том, как это сделать?

1 Ответ

0 голосов
/ 24 октября 2018

Поскольку узкие преобразования 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...