当前位置: 首页 > 知识库问答 >
问题:

Azure Synapse Analytics-长柱负载

武嘉祥
2023-03-14

我有一个列包含描述,长度约为80000(包含unicode字符)。我无法将其加载到Azure Synapse Analytics。Synapse中定义的数据类型是nvarchar。我们使用的是Azure数据库。我尝试了带有maxStrLlong(. ption('maxStrLlong',4000))的选项,但最大值为4000。所以,我收到了这个错误。

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

  • com.microsoft.html" target="_blank">sqlserver.jdbc.SQLServerException:HdfsBridge::记录读取器缓冲区-填充记录读取器缓冲区时遇到意外错误:HadoopSqlException:字符串或二进制数据将被截断。[ErrorCode=107090][SQLState=S0001]

你能告诉我,如果有什么办法解决这个问题?

更新 - 此问题已通过删除 .选项(“maxStrLength”,4000),同时将数据帧写入 Synapse 并将目标数据类型声明为 nvarchar(max)

共有1个答案

冯宏浚
2023-03-14

通过使用 nvarchar [ (n |最大值) ],最多可以存储 10 亿个 2 字节 Unicode 字符。

可变长度的 Unicode 字符串数据。n 定义字符串长度,可以是 1 到 4,000 之间的值。max 表示最大存储大小为 2^31-1 字节 (2 GB)。存储大小(以字节为单位)是输入的 2 个字节的数据实际长度的两倍。恩瓦尔恰尔的 ISO 同义词是国家字符变化和民族特征变化。

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

SQL Server如何在NVARCHAR(max)中存储超过4000个字符?

SQL查询变量nvarchar(max)不能存储超过4000个字符

 类似资料:
  • 以下是负堆积柱形图的示例。 我们已经在Google Charts Configuration Syntax一章中看到了用于绘制图表的配置 。 现在,让我们看一个负堆积柱形图的示例。 配置 (Configurations) 我们使用isStacked选项将基于列的图表显示为堆叠。 ColumnChartOptions options = ColumnChartOptions.create(); op

  • 我在使用LiquiBase更改postgres db中的列长度时遇到了问题。 我有一个字段描述为varchar(300)的表帐户。我想把它改成varchar(2000)。 我已经在同一个文件中删除并重新创建了主键,因此我没有权限、问题、模式/数据库名称或类似的任何东西。为了测试,我清除了表中的数据。 任务“:db-management:update”执行失败。

  • 问题内容: 码: 打印: 为什么? 感谢所有的答复。 是在数字后使用L的唯一方法吗? 我已经尝试过了,但这也是负面的。 问题答案: 为了清楚地解释, 在上面的声明中实际上是文字。要将它们视为文字,您需要在这些字符后缀。 请注意,也可以使用一个小的符号,但有时看起来像大写字母或。资本在这里没有多大意义,但阅读它确实会给您带来困难。此外,即使将一个值设为,也将得到结果。

  • Highcharts 柱形图 以下实例演示了使用负值的反向柱形图。 我们在前面的章节已经了解了 Highcharts 基本配置语法。接下来让我们来看下其他的配置。 配置 chart 配置 设置 chart 的 type 属性 为 column ,chart.type 描述了图表类型。默认值为 "line"。 var chart = { type: 'column' }; 实例 文件名:h

  • 本节介绍有关加载列的其他选项。 延迟列加载 延迟的列加载只允许在直接访问时加载表的特定列,而不允许使用 Query . 当您不想在不需要时将一个大文本或二进制字段加载到内存中时,此功能非常有用。单独的列可以自己惰性加载,也可以使用 deferred() 将它们标记为“延期”的函数。在下面的示例中,我们定义了一个映射,该映射将加载 .excerpt 和 .photo 在单独的单行select语句中,

  • 问题内容: 我有这个代码: 为什么几次打印后会变成负片?如果超出范围,是否不应该发生错误? 问题答案: 如果将数字增加到最大值之后,Java不会抛出错误。如果您希望具有此行为,则可以使用Java 8中的方法。如果传递,则该方法将引发。 Java不会引发异常并且您收到负数的原因与数字的存储方式有关。对于长原语,第一个字节用于指示数字的符号(0->正号,1->负号),其余字节用于数字值。这意味着最大的