Apache spark Databricks/Spark写入SQL DW的数据正在删除表并重新创建它
在Azure SQL DW中,我有一个空表(比如表T1) 假设T1有4列C1、C2、C3和C4(C4不为空) 我在DataRicks(比如df1)中有一个数据帧,其中包含C1、C2和C3的数据 我使用如下代码片段对数据帧执行写操作Apache spark Databricks/Spark写入SQL DW的数据正在删除表并重新创建它,apache-spark,apache-spark-sql,databricks,azure-sqldw,azure-databricks,Apache Spark,Apache Spark Sql,Databricks,Azure Sqldw,Azure Databricks,在Azure SQL DW中,我有一个空表(比如表T1) 假设T1有4列C1、C2、C3和C4(C4不为空) 我在DataRicks(比如df1)中有一个数据帧,其中包含C1、C2和C3的数据 我使用如下代码片段对数据帧执行写操作 df1.write .format("com.databricks.spark.sqldw") .option("url", jdbcURL) .option("dbtable", "T1") .option( "forward
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对应的数据丢失,应引发一些异常?您已将模式设置为“覆盖”-删除并重新创建相关表也是我的经验。也许可以尝试使用
append
替代?您已将模式设置为overwrite
——删除并重新创建有问题的表也是我在那里的经验。也许可以尝试添加作为替代