]> code.communitydata.science - cdsc_reddit.git/blobdiff - comments_2_parquet.py
Cache before sorting so we don't extract twice.
[cdsc_reddit.git] / comments_2_parquet.py
index cff16342dede2f0d04f71aeb36d0c4e1f21ab999..069434e657897ad2434d12bf480a987a7f69654e 100755 (executable)
@@ -1,7 +1,7 @@
-
 #!/usr/bin/env python3
 #!/usr/bin/env python3
+
 import pyspark
 import pyspark
-nfrom pyspark.sql import functions as f
+from pyspark.sql import functions as f
 from pyspark.sql.types import *
 from pyspark import SparkConf, SparkContext
 from pyspark.sql import SparkSession, SQLContext
 from pyspark.sql.types import *
 from pyspark import SparkConf, SparkContext
 from pyspark.sql import SparkSession, SQLContext
@@ -128,6 +128,10 @@ df = df.withColumn("Month",f.month(f.col("CreatedAt")))
 df = df.withColumn("Year",f.year(f.col("CreatedAt")))
 df = df.withColumn("Day",f.dayofmonth(f.col("CreatedAt")))
 df = df.withColumn("subreddit_hash",f.sha2(f.col("subreddit"), 256)[0:3])
 df = df.withColumn("Year",f.year(f.col("CreatedAt")))
 df = df.withColumn("Day",f.dayofmonth(f.col("CreatedAt")))
 df = df.withColumn("subreddit_hash",f.sha2(f.col("subreddit"), 256)[0:3])
+
+# cache so we don't have to extract everythin twice
+df = df.cache()
+
 df2 = df.sort(["subreddit","author","link_id","parent_id","Year","Month","Day"],ascending=True)
 df2.write.parquet("/gscratch/comdata/output/reddit_comments_by_subreddit.parquet", partitionBy=["Year",'Month'],mode='overwrite')
 
 df2 = df.sort(["subreddit","author","link_id","parent_id","Year","Month","Day"],ascending=True)
 df2.write.parquet("/gscratch/comdata/output/reddit_comments_by_subreddit.parquet", partitionBy=["Year",'Month'],mode='overwrite')
 

Community Data Science Collective || Want to submit a patch?