在DataBricks上,我拥有一个值为字符长度> 10,000的值的。
我需要将它插入Azure数据仓库(ADW)表中,但是如果列char长度超过4,000,则会出现错误。
错误:遇到意外错误,填充记录读取器缓冲区: HadoopSqlException: String或二进制数据将被截断。
df.write.format("com.databricks.spark.sqldw") \
.option("url", sqlDwUrl) \
.option("forwardSparkAzureStorageCredentials", "true") \
.option("dbtable", writeTableName) \
.option("tempDir", tempDir) \
.mode("append") \
.option("maxStrLength",4000)\
.save()要插入字符长度> 10k或20k的列,需要做什么?
发布于 2019-11-21 17:34:26
当我们今天研究SQL数据仓库的容量限制时
Bytes per Column - (depends on the column data type)
Limit is 8000 for char data types,
4000 for nvarchar, or 2 GB for MAX data types.因此,今天我们不可能摄入一列字符长度大于10k的字。该选项可能是将列数据拆分为摄取数据,并在需要时将这些列合并。
https://stackoverflow.com/questions/58974775
复制相似问题