根据spark读取的文件大小选择分区数

aor9mmx1  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(517)

我有一个用例,在这个用例中,有时我接收到400gb的数据,有时接收到1mb的数据。我已经将分区数设置为硬编码的值,比如说300。当我收到1mb时,脚本会生成300个非常小的分区。为了避免这种情况,我想根据Dataframe的大小对其进行分区。假设我想使每个分区的大小为2gb。

xam8gpfp

xam8gpfp1#

使用-

spark.sessionState.executePlan(df.queryExecution.logical).optimizedPlan.stats.sizeInBytes

获取输入大小。然后可以将其转换为gb,并通过将其除以单个分区大小(如2GB)来计算分区数
有关获取输入大小的其他方法,请参阅我的ans-https://stackoverflow.com/a/62463009/4758823

相关问题