我正在使用spark阅读一个有2个分区的parquet文件,以便应用一些处理,让我们举这个例子
├── Users_data
│ ├── region=eu
├── country=france
├─- fr_default_players_results.parquet
│ ├── region=na
├── country=us
├── us_default_players_results.parquet
当用df.write()
写回Parquet地板时,有没有办法保持相同的文件名(在本例中为fr_default_players_results.parquet
、us_default_players_results.parquet
)?
1条答案
按热度按时间owfi6suc1#
不,不幸的是,你不能用spark决定文件名,因为它们是自动生成的,但是你可以做的是创建一个包含文件名的列,然后按该列分区,这将创建一个包含文件名的目录,其中包含spark生成的文件:
这将创建此树:
如果你想更进一步,真正改变名称,那么你可以使用hadooplibrary循环你的文件,将它们复制到父路径,并使用spark file_name=....parquet生成的文件夹名称重命名它们,然后删除文件夹