Я хочу повысить производительность своего приложения с помощью pyspark.
Фрейм данных выглядит следующим образом: каждый столбец представляет комментарий, опубликованный пользователем XXX для вопроса XXX.
+-----------+--------------+----------+
|user_id | comment_id |question_id|
+-----------+--------------+----------+
| 10181831|R2OX4JVN03FOMT|6302014700|
| 51697036|R1R4GTQCO51GC0|B0000001NY|
Теперь я хочу удалить комментарии, опубликованные пользователями, у которых опубликовано менее 1 комментария, и отзывы на вопросы, содержащие менее 3 комментариев
Мой код такой:
window_u = Window.partitionBy("user_id")
window_p = Window.partitionBy("question_id")
reviews = reviews.withColumn("n",
count("user_id").over(window_u)).filter("n >= 1").drop("n")
reviews = reviews.withColumn("n",
count("question_id").over(window_p)).filter("n >= 3").drop("n")
Проблема в том, что теперь это приложение работает очень медленно, так как у меня действительно большие наборы данных. Есть ли проблемы с увеличением производительности?