Я работаю над заданием ETL в Azure Databricks. Когда я пишу в базу данных Azure, столбцы nvarchar создаются как nvarchar (max).
Я делаю следующее для записи кадра данных в SQL:
df.write \
.format("jdbc") \
.option("url", _get_dw_jdbc_url()) \
.option("forwardSparkAzureStorageCredentials", "true") \
.option("dbTable", table_name) \
.option("tempDir", _get_temp_connection_string()) \
.option("maxStrLength", 255)\
.mode(mode) \
.save()
Я надеялся, что maxStrLength волшебным образом решит проблему, но это не так.
Есть какие-нибудь решения по этому вопросу? Могу ли я определить схему для таблицы SQL до записи в базу данных?