scala 如何将每个 parquet 文件的大小限制在一个分区内

2ledvvac  于 2022-11-09  发布在  Scala
关注(0)|答案(1)|浏览(179)

我们正在使用reartition和artitionBy写入表。它为每个分区创建一个 parquet 文件。

df.repartition("TimeID").write.partitionBy("TimeID").parquet("/path/")

我们希望将每个 parquet 文件的大小限制在每个分区内最大200MB。如果大小超过200MB,我们要在同一分区中创建另一个拼图文件,我们如何实现这一点。对于一些分区,我们看到单个拼图文件大小约为1 GB到2 GB,因为当天的数据量很大,我想确保每个拼图文件大小不超过200 MB

vjrehmav

vjrehmav1#

看看Spark conf设置spark.sql.files.maxRecordsPerFile。从文档中:
要写入单个文件的最大记录数。如果此值为零或负,则没有限制。默认为0。

相关问题