Массовая вставка фрейма данных PySpark в Azure Synapse из записной книжки Python Databricks

Пакетное использование

У меня есть фреймворк PySpark, состоящий из 750+ столбцов и 2,5 млн записей, что составляет примерно 6,5 ГБ. Я выполняю массовую вставку (пакетную) из записной книжки Python Databricks в таблицу Azure Synapse.

Ниже приведен пример кода в соответствии с документацией Microsoft (https://docs.databricks.com/data/data-sources/azure/synapse-analytics.html)

spark.conf.set(
  "fs.azure.account.key.<your-storage-account-name>.blob.core.windows.net",
  "<your-storage-account-access-key>")

df.write \
  .format("com.databricks.spark.sqldw") \
  .option("url", "jdbc:sqlserver://<the-rest-of-the-connection-string>") \
  .option("forwardSparkAzureStorageCredentials", "true") \
  .option("dbTable", "my_table_in_dw_copy") \
  .option("tempDir", "wasbs://<your-container-name>@<your-storage-account-name>.blob.core.windows.net/<your-directory-name>") \
  .save()

Постановка проблемы: мне нужно реализовать то же самое для еще одного фрейма данных PySpark, который состоит из одного столбца, который содержит более 8000 символов в виде JSON. В базовой таблице Synapse этот столбец имеет тип nvarhcar (max). Приведенный выше код не работает для столбцов, длина которых превышает 4000 символов.

Пожалуйста, помогите решить эту проблему в приведенном выше коде в этой ситуации.


person Varun05    schedule 12.07.2020    source источник
comment
Привет @ varun05, я думаю, что это покрыто моим предыдущим ответом: stackoverflow.com/a/63815914/5139495 на этот вопрос : stackoverflow.com/questions/60521948/   -  person jabberwocky    schedule 02.11.2020
comment
Отвечает ли это на ваш вопрос? Azure Databricks в Azure SQL DW: длинные текстовые столбцы   -  person jabberwocky    schedule 02.11.2020
comment
Вы не можете установить более 8000 символов для maxStrLength   -  person Varun05    schedule 03.12.2020