В Azure SQL DW у меня есть пустая таблица (скажем, таблица T1).
Предположим, что T1 имеет 4 столбца C1, C2, C3 и C4 (C4 не является нулевым)
У меня есть блок данных в Databricks (скажем, df1), который имеет данные для C1, C2 и C3
Я выполняю операцию записи на фрейме данных, используя фрагмент кода, подобный следующему
df1.write
.format("com.databricks.spark.sqldw")
.option("url", jdbcURL)
.option("dbtable", "T1")
.option( "forward_spark_azure_storage_credentials","True")
.option("tempDir", tempDir)
.mode("overwrite")
.save()
Я вижу, что вместо получения какой-либо ошибки таблица T1 теряется, а новая таблица T1 создается только с 3 столбцами C1, C2 и C3.
Это ожидаемое поведение или, в идеале, при попытке вставить данные, должны быть выданы некоторые исключения, поскольку отсутствуют данные, соответствующие C4?