(Py) Spark: df.sample (0.1) не влияет на время выполнения df.toPandas () - PullRequest
0 голосов
/ 06 февраля 2019

Я работаю над набором данных из ~ 100 тыс. Строк в PySpark, и я не хочу конвертировать его в Pandas.Данные о веб-кликах содержат строковые переменные и считываются из файла .snappy.orc в корзине Amazon S3 через spark.read.orc(...).

Преобразование выполняется слишком медленно для моего приложения (по причинам, очень хорошо объясненным здесь для stackoverflow), и поэтому я попытался уменьшить выборку моего искрового DataFrame до одной десятой - набор данных настолько велик, что статистическийанализ, который мне нужно сделать, вероятно, все еще в силе.Однако мне нужно повторить анализ для 5000 аналогичных наборов данных, для чего ускорить процесс.

Что меня удивило, так это то, что время выполнения: df.sample(false, 0.1).toPandas() точно такое же, как df.toPandas() (около 180 с)и поэтому я не получаю сокращение времени работы, на которое я надеялся.

Я подозреваю, что это может быть вопрос вставки .cache() или .collect(), но я не могу придумать, как правильно в него вписаться.

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