我正在使用以下代码编写Azure仓库表
df_execution_config_remain.write
.format("com.databricks.spark.sqldw")
.option("user", user)
.option("password", pswd)
.option("url","jdbc:sqlserver://"+sqlserver +":"+port+";database="+database)
.option("forwardSparkAzureStorageCredentials", "true")
.option("dbTable", execution_config)
.option("tempDir", dwtmp)
.mode("Overwrite")
.save()
但是“覆盖”将删除表并重新创建。
问题 1.我发现新的create表具有循环分配。我不想要的
该列的长度与原始表varchar(256)
我不想使用append,因为我想清除当前表中的行
答案 0 :(得分:0)
Q1:请参考以下链接下的tableOptions参数: https://docs.databricks.com/spark/latest/data-sources/azure/sql-data-warehouse.html#parameters
第二季度:您是否受到同一链接下的maxStrLength参数影响?
Q3:我认为您的方法是正确的,但是另一种方法可能是在同一链接下使用preActions参数,并在加载之前对表进行截断。