Блоки данных Azure - невозможно создать управляемую таблицу. Соответствующее расположение уже существует - PullRequest
3 голосов
/ 27 марта 2019

У меня есть следующая проблема в Azure Databricks. Иногда, когда я пытаюсь сохранить DataFrame как управляемую таблицу:

SomeData_df.write.mode('overwrite').saveAsTable("SomeData")

Я получаю следующую ошибку:

"Не удается создать управляемую таблицу ('SomeData'). Связанный местоположение ('dbfs: / user / hive / warehouse / somedata') уже существует.; "

Раньше я решал эту проблему, выполняя команду% fs rm для удаления этого расположения, но сейчас я использую кластер, которым управляет другой пользователь, и я больше не могу запускать rm в этом месте.

Пока единственное исправление, которое я могу придумать, - это использование другого имени таблицы.

Что делает вещи еще более странными, так это тот факт, что таблица не существует. Когда я бегу:

%sql
SELECT * FROM SomeData

Я получаю ошибку:

Ошибка в операторе SQL: AnalysisException: таблица или представление не найдены: SomeData; * * тысячу двадцать-один

Как я могу это исправить?

Ответы [ 2 ]

4 голосов
/ 01 апреля 2019

Кажется, есть еще несколько человек с такой же проблемой .

Временное решение - использовать

dbutils.fs.rm("dbfs:/user/hive/warehouse/SomeData/", true)

чтобы удалить таблицу перед ее созданием.

0 голосов
/ 18 апреля 2019

У меня та же проблема, я использую

create table if not exists USING delta

Если я сначала удаляю предложенные файлы лжи, он создается один раз, но во второй раз проблема повторяется.не распознает таблицу и все равно пытается ее создать

Я не хочу каждый раз удалять таблицу, я пытаюсь использовать MERGE для сохранения таблицы.

...