Массовая вставка фрейма данных PySpark в Azure Synapse из Databricks Python Notebook - PullRequest
1 голос
/ 12 июля 2020

Usage-Batch

У меня есть фрейм данных PySpark, состоящий из 750+ столбцов и 2,5 млн записей, что составляет примерно 6,5 ГБ. Я выполняю массовую вставку (пакетную) из записной книжки Databricks python в 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 символов.

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

...