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

时间:2019-03-08 19:03:40

标签: apache-spark apache-spark-sql databricks azure-sqldw azure-databricks

在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相对应的数据,所以应该抛出一些异常?

1 个答案:

答案 0 :(得分:2)

您已将模式设置为overwrite-拖放并重新创建有问题的表也是我的经验。也许改为尝试append