Почему spark regexp_extract слишком медленный при сравнении с python re

#python-3.x #pyspark #apache-spark-sql #re

#python-3.x #pyspark #apache-spark-sql #python-re

Вопрос:

Недавно я столкнулся с требованием, в котором я пытался изменить python re с помощью pyspark regexp_extract, причина изменения re на pyspark regexp_extract заключается в том, что spark работает быстрее. сравнивая скорость процесса с pyspark и re process, я пришел к выводу, что re быстрее, чем pyspark regexp_extract. Есть ли какая-либо конкретная причина, по которой pyspark regexp_extract работает медленно.

Заранее спасибо

Ответ №1:

Вероятно, для того, чтобы дать конкретный ответ, требуется больше контекста, но из того, что вы сказали, я могу сделать следующий вывод:

Я бы подумал, что это зависит от размера данных и того, как расположены разделы в spark. Поскольку spark выполняет распараллеливание, вероятно, в небольших объемах данных, обычные функции python будут работать быстрее, но не в огромных объемах данных, где распараллеливание удобнее.

Комментарии:

1. Спасибо за ответ, я тестировал с небольшим объемом данных, и я передал один и тот же ввод для обоих процессов. мне нужно проверить концепцию разделов в pyspark, я новичок в pyspark,

2. python будет быстрее на небольших наборах данных, поскольку spark ориентирован на распараллеливание. Поэтому даже небольшой файл в spark будет иметь накладные расходы. Кроме того, spark ленив, он будет оценивать только в том случае, если вызывается действие, то есть collect(), show() ..