Как перезаписать существующую таблицу в synapse azure?

#azure #azure-synapse

#azure #azure-synapse

Вопрос:

верните мою таблицу в пул sql. Однако всякий раз, когда я вношу изменения и пытаюсь перезаписать таблицу, я не мог. Мне всегда нужно создавать новую таблицу. Есть ли какой-либо способ перезаписать существующую таблицу: ниже приведен код:

 %%spark
val scala_df = spark.sqlContext.sql ("select * from result_pdf")
scala_df.write.synapsesql("yogesh.dbo.result2_pdf", Constants.INTERNAL)

Error : java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: There is already an object named 'result2_pdf' in the database.
 

Комментарии:

1. Я тоже столкнулся с такой же проблемой. Вы нашли какое-либо решение?

2. new_df = spark.createDataFrame(vendor_segmentation_output) new_df.createOrReplaceTempView(«pysparkdftemptable») значение scala_df = spark.SQLContext.sql («выбрать * из pysparkdftemptable») scala_df.write.mode(«Overwrite»).parquet(«/sparkextract/Vendor_Segmentation/Dim_AP_vendor_SegmentTemp.parquet»)

3. Я преобразовал в формат parquet

Ответ №1:

Write API создает таблицу в выделенном пуле SQL, а затем вызывает Polybase для загрузки данных.

Таблица не должна существовать в выделенном пуле SQL, иначе будет возвращено сообщение об ошибке, в котором указано, что « There is already an object named... «

Ссылка: Azure Synapse Analytics — Написать API

Ответ №2:

Вам нужно будет удалить существующую таблицу с помощью spark query перед созданием новой.