Azure Synapse Analytics - 长列加载

Azure Synapse Analytics - column load with high length

我有一列包含描述,长度约为 80000(包含 unicode 字符)。我无法将其加载到 Azure Synapse Analytics。 Synapse 中定义的数据类型是 nvarchar。 我们正在使用 Azure Databricks。我尝试使用 maxStrLength (.option('maxStrLength', 4000)) 的选项,但最大值为 4000。因此,我收到此错误。

:com.databricks.spark.sqldw.SqlDWSideException:Azure Synapse Analytics 无法执行连接器生成的 JDBC 查询。 基础 SQLException:

请问有什么办法可以解决这个问题吗?

更新 - 通过在将数据帧写入 Synapse 并将目标数据类型声明为 nvarchar(max)

时删除 .option('maxStrLength', 4000) 来解决此问题

您可以使用 nvarchar [ ( n | max ) ] 存储多达 10 亿个 2 字节 Unicode 字符。

Variable-length Unicode string data. n defines the string length and can be a value from 1 through 4,000. max indicates that the maximum storage size is 2^31-1 bytes (2 GB). The storage size, in bytes, is two times the actual length of data entered + 2 bytes. The ISO synonyms for nvarchar are national char varying and national character varying.

您可以参考下面提到的相关SO线程:

How does SQL Server store more than 4000 characters in NVARCHAR(max)?