#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...
«
Ответ №2:
Вам нужно будет удалить существующую таблицу с помощью spark query перед созданием новой.