写入SQL DW的Databricks / Spark数据正在删除表并重新创建它

问题描述 投票:0回答:1

在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相对应的数据?

apache-spark apache-spark-sql databricks azure-sqldw azure-databricks
1个回答
2
投票

您已将模式设置为overwrite - 删除并重新创建相关表格也是我在那里的体验。也许尝试append而不是?

© www.soinside.com 2019 - 2024. All rights reserved.