我已经创建了Synapse表,列数据类型-[Comments] [varchar](2000) NULL
当我使用Databricks spark代码写入Synapse时,我看到Synapse表列的数据类型更改为[Comments] [nvarchar](256) NULL
。我在Databricks数据框架上的数据类型为字符串。
Databricks Spark code-
df.write
.format("com.databricks.spark.sqldw")
.option("url", "jdbc:sqlserver://<>")
.option("user", "myuser")
.option("password", "***")
.option("forwardSparkAzureStorageCredentials", "true")
.option("dbTable", table_name)
.option("tempDir", "wasbs://<container>@<storageAccount>.blob.core.windows.net/<path>)
.mode("overwrite")
.save()
我会在代码中添加以下选项:
.option("maxStrLength", 2000)
或者,如果您确定列名和数据类型不会随着时间的推移而改变,我会手动删除并创建具有您想要的类型的表,然后将模式更改为"追加",然后添加预操作来截断表:
.option("preActions", "truncate table "+table_name)
.mode("append")