我有一个用例,在这个用例中,有时我接收到400gb的数据,有时接收到1mb的数据。我已经将分区数设置为硬编码的值,比如说300。当我收到1mb时,脚本会生成300个非常小的分区。为了避免这种情况,我想根据Dataframe的大小对其进行分区。假设我想使每个分区的大小为2gb。
xam8gpfp1#
使用-
spark.sessionState.executePlan(df.queryExecution.logical).optimizedPlan.stats.sizeInBytes
获取输入大小。然后可以将其转换为gb,并通过将其除以单个分区大小(如2GB)来计算分区数有关获取输入大小的其他方法,请参阅我的ans-https://stackoverflow.com/a/62463009/4758823
1条答案
按热度按时间xam8gpfp1#
使用-
获取输入大小。然后可以将其转换为gb,并通过将其除以单个分区大小(如2GB)来计算分区数
有关获取输入大小的其他方法,请参阅我的ans-https://stackoverflow.com/a/62463009/4758823