remove nsfw subs from topN
This commit is contained in:
parent
4e20dce188
commit
3155600514
@ -5,6 +5,10 @@ from pyspark.sql import Window
|
|||||||
spark = SparkSession.builder.getOrCreate()
|
spark = SparkSession.builder.getOrCreate()
|
||||||
conf = spark.sparkContext.getConf()
|
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")
|
df = spark.read.parquet("/gscratch/comdata/output/reddit_comments_by_subreddit.parquet")
|
||||||
|
|
||||||
# remove /u/ pages
|
# 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.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())
|
win = Window.orderBy(f.col('n_comments').desc())
|
||||||
df = df.withColumn('comments_rank', f.rank().over(win))
|
df = df.withColumn('comments_rank', f.rank().over(win))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user