Файл паркета не перезаписывается в записных книжках Azure Synapse

Я работаю над блокнотами Azure Synapsse Analytics и хочу загрузить файлы Parquet в DataFrames, выполнить некоторые преобразования, а затем перезаписать исходные файлы преобразованными данными. Этот процесс отлично работает для всех моих файлов, кроме одного, который выдает ошибку.

Вот упрощенная версия моего кода:

%%pyspark
folder_path = 'abfss://example_folder_path/'


df = spark.read.load(folder_path, format='parquet').cache()
display(df.limit(10))

df.createOrReplaceTempView("dcp")

# Transformations

display(final.limit(10))


df.write.mode('overwrite').parquet(folder_path)


df.unpersist()

В коде возникла проблема с перезаписью этого конкретного файла, и я получаю следующую ошибку:

Я убедился, что проблемный файл действительно является паркетом, и подтвердил, что для этого файла или каталога нет проблем с разрешениями. Я также пытался найти разницу между этим файлом и остальными, чтобы определить, почему он не работает, но ничего не нашел.

Есть ли у кого-нибудь идеи относительно того, почему этот конкретный файл вызывает проблемы или что я могу сделать, чтобы это исправить? Любая помощь будет принята с благодарностью.

не могли бы вы поделиться примером файла?

Bhavani 14.06.2024 11:15
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это происходит потому, что вы читаете и перезаписываете одну и ту же папку. Это то, что я не буду рекомендовать, но если вы хотите сделать, то есть 2 варианта:

  1. Запишите его временное местоположение, прочитайте еще раз из временного местоположения и перезапишите папку (рекомендуется)
  2. Использовать кеш после всех преобразований?

Опция 1 -

folder_path = 'abfss://example_folder_path/'
df = spark.read.load(folder_path, format='parquet')

##Transformation
# df.transform()

df.write.mode('overwrite').parquet(tempfolder)
spark.read.load(tempfolder, format='parquet').write.mode('overwrite').parquet(folder_path)

Вариант 2 -

%%pyspark
folder_path = 'abfss://example_folder_path/'
df = spark.read.load(folder_path, format='parquet').cache()

##Transformation
# df.transform()
df.cache()
df.show(10)

df.write.mode('overwrite').parquet(folder_path)
df.unpersist()

Другие вопросы по теме

Похожие вопросы

Нужна ли мне подписка на Microsoft 365, чтобы использовать Graph API для Outlook в Python?
Microsoft Graph — доступ к стенограммам OnlineMeetings — выражение невозможно вычислить
Функции Azure, созданные в одном облачном местоположении, например на юге Индии, должны иметь возможность создать группу ресурсов в центральном месте США
Войдите в Azure B2C с помощью учетной записи OpenID (рабочая электронная почта Microsoft), но запретите пользователю регистрироваться
Как получить события группового календаря, используя разрешения только для приложений Azure? Ошибка: Доступ запрещен. Проверьте учетные данные и повторите попытку
Выполнение задания в Azure DevOps Pipelines занимает много времени
Рабочий процесс создания и развертывания .sqlproj
Как сохранить векторы, созданные AzureOpenAIEmbeddingSkill, в индексаторе с учетом моей текущей настройки
Как настроить перенаправление регистрации приложений Azure на запрошенный URL-адрес?
Служба перевода документов Azure AI: время между состоянием «Успешно» и доступностью целевых больших двоичных объектов