在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相对应的数据?
您已将模式设置为overwrite
- 删除并重新创建相关表格也是我在那里的体验。也许尝试append
而不是?