在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丢失了,仅使用3列C1,C2和C3创建了新表T1。 这是一种预期的行为,还是理想情况下尝试插入数据时,由于缺少与C4相对应的数据,所以应该抛出一些异常?
答案 0 :(得分:2)
您已将模式设置为overwrite
-拖放并重新创建有问题的表也是我的经验。也许改为尝试append
?