У меня есть рабочий конвейер, который вставляет данные из блоков данных в Synapse Analytics (Azure Хранилище данных), используя polybase через его соединитель:
https://docs.databricks.com/data/data-sources/azure/sql-data-warehouse.html
Этот разъем имеет раздражающее ограничение. Он не поддерживает столбцы varchar больше nvarchar (4000).
Что ж, у меня есть сценарий, в котором мне нужно вставить данные в столбцы varchar (max).
Первая попытка была не используя polybase / DW Connector, вместо этого я бы использовал azure -sqldb-spark, который пытается выполнить вставку SqlBulkCopy:
https://github.com/Azure/azure-sqldb-spark
Но этот проект имеет огромный провал. Если я хочу вставить значения Datetime, мне нужно изменить целевую таблицу с Datetime на Varchar в Synapse Analytics.
https://github.com/Azure/azure-sqldb-spark/issues/41
Это старая проблема, Я пытался найти способ, но не смог.
Я действительно хочу немного производительности на этом шаге, поэтому я избегаю простых вставок jdb c.
Есть ли известные Обходной путь для этого?