IIU C, в первом сценарии вы обрабатываете данные размером 700 ГБ, а во втором сценарии вы выполняете некоторое соединение между данными объемом 500 МБ и данными 700 ГБ, чтобы включить upserts и сохранить их обратно в s3.
Если это так, то проблема не в вашем операторе записи, а в преобразованиях, которые вы выполняете во втором случае, поскольку вы должны объединять инкрементные данные с полными данными для идентификации вставок и обновлений, затем изменив результаты соответствующим образом.
Если это будет продолжаться, ваши данные будут продолжать расти, и у вас будет не хватать времени и памяти для обработки ваших данных.
Если вы создаете инкрементную базу данных над s3, вы следует рассмотреть возможность использования HUDI, который упростит вашу работу, а также правильно использует ваш кластер для обработки только upserts.
Вот ссылка для реализации HUDI.
https://github.com/apache/hudi