databricks抛出错误:截断数据

bt1cpqcv  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(472)

每当我试图在dw上保存一个特定的Dataframe时,我都会收到一条消息:
错误:调用o692.save时出错:com.databricks.spark.sqldw.sqldwsideexception:sql dw无法执行连接器生成的jdbc查询。基础sqlexception:-com.microsoft.sqlserver.jdbc.sqlserverexception:hdfsbridge::recordreaderfillbuffer-填充记录读取器缓冲区时遇到意外错误:hadoopsqlexception:字符串或二进制数据将被截断[错误代码=107090][sqlstate=s0001]
我已经检查了csv文件中字符串的大小。大的有38个字符。
这是我的保存/写入方法(适用于其他Dataframe):

df.write\
 .format('com.databricks.spark.sqldw') \
 .option('url', conn_string_dw) \
 .option('maxStrLength', '4000') \
 .option('forwardSparkAzureStorageCredentials', 'true') \
 .option('dbTable', db_table_name) \
 .option('tempDir', dw_temporary_path_url) \
 .option('truncate', 'False')\
 .mode('append')\
 .save()

这里会发生什么?

vh0rcniy

vh0rcniy1#

问题在最终文件中。一个特定的单元包含多行,这导致了这个截断问题。

相关问题