2020-08-04 00:56:36 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
from pyspark.sql import functions as f
|
|
|
|
from pyspark.sql import SparkSession
|
2022-04-06 18:11:11 +00:00
|
|
|
import fire
|
2020-08-04 00:56:36 +00:00
|
|
|
|
2022-04-06 18:11:11 +00:00
|
|
|
def main(inparquet, outparquet, colname):
|
|
|
|
spark = SparkSession.builder.getOrCreate()
|
|
|
|
df = spark.read.parquet(inparquet)
|
2020-08-04 00:56:36 +00:00
|
|
|
|
2022-04-06 18:11:11 +00:00
|
|
|
df = df.repartition(2000,colname)
|
|
|
|
df = df.sort([colname,'week','subreddit'])
|
|
|
|
df = df.sortWithinPartitions([colname,'week','subreddit'])
|
2020-08-04 00:56:36 +00:00
|
|
|
|
2022-04-06 18:11:11 +00:00
|
|
|
df.write.parquet(outparquet,mode='overwrite',compression='snappy')
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
fire.Fire(main)
|