使用批次
我有一个 PySpark 数据框,由 750 多个列和 250 万条记录组成,大约 6.5 GB。我正在从 Databricks python notebook 到 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 Dataframe 实现相同的功能,它包含一列,其中包含 8000 多个 JSON 字符。在底层 Synapse 表中,此列是 nvarhcar(max) 类型。上述代码不适用于字符长度超过 4000 个字符的列。
对于这种情况,请帮助如何在上面的代码中处理这个问题。