sji*_*han 3 dataframe apache-spark pyspark
我需要按列中的值在单独的 s3 键中写入镶木地板文件。该列city
有数千个值。使用 for 循环进行迭代,按每个列值过滤数据帧,然后写入镶木地板非常慢。有什么方法可以按列对数据帧进行分区city
并写入镶木地板文件吗?
我目前正在做的事情——
for city in cities:
print(city)
spark_df.filter(spark_df.city == city).write.mode('overwrite').parquet(f'reporting/date={date_string}/city={city}')
Run Code Online (Sandbox Code Playgroud)
partitionBy 函数解决了这个问题
spark_df.write.partitionBy('date', 'city').parquet('reporting')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5868 次 |
最近记录: |