X-Git-Url: https://code.communitydata.science/cdsc_reddit.git/blobdiff_plain/67857a3b05b9bf7db684b5d2ab34802fa02ab08f..fd3b61554495bd54d0f5942e25dd5d24621025ed:/comments_2_parquet.py?ds=sidebyside diff --git a/comments_2_parquet.py b/comments_2_parquet.py index cff1634..069434e 100755 --- a/comments_2_parquet.py +++ b/comments_2_parquet.py @@ -1,7 +1,7 @@ - #!/usr/bin/env python3 + 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 @@ -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]) + +# 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')