From: Nate E TeBlunthuis Date: Tue, 29 Dec 2020 05:11:44 +0000 (-0800) Subject: remove nsfw subs from topN X-Git-Url: https://code.communitydata.science/cdsc_reddit.git/commitdiff_plain/31556005146ac1b9db9c1671195579c003a84af7?ds=sidebyside;hp=4e20dce18834f7276776a1ab824ff95e8c44ef99 remove nsfw subs from topN --- diff --git a/similarities/top_subreddits_by_comments.py b/similarities/top_subreddits_by_comments.py index 214c7e0..1197b51 100644 --- a/similarities/top_subreddits_by_comments.py +++ b/similarities/top_subreddits_by_comments.py @@ -5,6 +5,10 @@ from pyspark.sql import Window spark = SparkSession.builder.getOrCreate() conf = spark.sparkContext.getConf() +submissions = spark.read.parquet("/gscratch/comdata/output/reddit_submissions_by_subreddit.parquet") + +prop_nsfw = submissions.select(['subreddit','over_18']).groupby('subreddit').agg(f.mean(f.col('over_18').astype('double')).alias('prop_nsfw')) + df = spark.read.parquet("/gscratch/comdata/output/reddit_comments_by_subreddit.parquet") # remove /u/ pages @@ -12,6 +16,9 @@ df = df.filter(~df.subreddit.like("u_%")) df = df.groupBy('subreddit').agg(f.count('id').alias("n_comments")) +df = df.join(prop_nsfw,on='subreddit') +df = df.filter(df.prop_nsfw < 0.5) + win = Window.orderBy(f.col('n_comments').desc()) df = df.withColumn('comments_rank', f.rank().over(win))