Причина, по которой возникает проблема, заключается в том, что вы читаете и пишете по тому же пути, который пытаетесь перезаписать. Это стандартная проблема Spark и не имеет ничего общего с AWS Glue.
Spark использует ленивое преобразование в DF и запускается при вызове определенного действия. Он создает DAG для хранения информации обо всех преобразованиях, которые должны быть применены к DF.
Когда вы читаете данные из того же места и пишете с использованием переопределения, «запись с использованием переопределения» является действием для DF. Когда spark видит «write using override», в своем плане выполнения он добавляет сначала удаление пути, затем пытается прочитать этот путь, который уже свободен;отсюда ошибка.
Возможный обходной путь - сначала записать в какое-нибудь временное местоположение, а затем использовать его в качестве источника, переопределить в dataset2
location