我目前正在从Greenplum到SAS进行批量加载。最初有一个字段带有反斜杠" \"在列的末尾导致在加载期间抛出错误。为了解决这个问题,我将格式从TEXT更改为CSV并且工作正常。但是加载更多数据我遇到了这个错误:
gpfdist错误 - 文件中的行太长
我一直在做一些搜索,但无法评估原因是否是由于启动gpfdist服务时设置的max_length。我还看到Windows的限制为1MB?非常感谢您的帮助。
顺便说一下,这里有一些可能有用的其他信息:
-Greenplum版本:4.2.1.0 build 3 -Gpfdist与SAS Applications一起安装在Windows中 -Script基于SAS Logs提交给Greenplum: CREATE EXTERNAL TABLE()LOCATION(' gpfdist://:8081 / fileout.dat') 格式' CSV' (DELIMITER' |' NULL' \ N')编码' LATIN1'
谢谢!
答案 0 :(得分:0)
“行太长”各种错误通常表明你有额外的分隔符隐藏在VARCHAR / TEXT列中,这些列会抛出文件的解析。
另一种可能性是你的文件中隐藏了隐藏的控制字符,额外的换行符或其他令人讨厌的东西,这又会让你的格式失效。 Gpfdist可以处理许多不同的数据错误并继续运行,但额外的分隔符会将其抛出一个循环。
扫描您的加载文件,查找一行中的额外管道字符。
另一个选择是重新导出数据,选择不同的分隔符。
答案 1 :(得分:0)
请尝试另一种解决方案,方法是在会话中选择输入格式为“文本”,将客户端编码选择为ISO_8859_5,看看是否有帮助。就我而言,它奏效了。