到达记录末尾,同时预期解析从 S3 加载的雪花数据中的列

End of record reached while expected to parse column in snowflake data loading from S3

我正在将数据从 S3 阶段加载到我的雪花 table,但出现以下错误:

当前文件格式为csv类型,由转义符分隔

在预期解析列“ABC”时到达记录末尾“T_STMP”:29]' 如果您想在遇到错误时继续加载,请使用其他值,例如 'SKIP_FILE' 或 'CONTINUE' 用于 ON_ERROR 选项。有关加载选项的更多信息,请在 SQL 客户端中 运行 'info loading_data'。

我也检查了数据,T_STMP 的值正在换行,雪花被认为是文件的结尾

 1234562020-11-18 
 07:41:12.336COVIDABC.comhttps://www.covide.com/bright- 
 keno/u-glass/2020/xyz-a-33/chat-pnevery goodcls F- 
 CLASS12345Very-free REl Men Rare CTR.  WATCH  
 ABCDR.  HEYA MOO  https://abc.ABCD.com/v2/abc-xyze- 
chore/sdfgsjhdfgjdhfkjdh/HIIII/HELLO-ABC_EFG_I-123- 
5.jpgCENTCANT
2010-11-15 10:12:30.083663sysadmin0001-01-01 00:00:00.0wwwww33ww- 
2a2a-1a1a-7ff6-3434343trtr36352020-15-15 10:44:05.79

错误出现在最后第三行的时间戳列中,应该如下所示:

     5.jpgCENTCANT2010-11-15 10:12:30.083663

我知道很难理解,但是数据质量太差了!

文件为csv类型,以转义符分隔

任何帮助将不胜感激

错误是由于列的长度超过 100 个不同的字符导致时间戳和其他列正在换行。

解决方案是在 sqoop 导入作业中将所有那些冗长列的换行符、回车符 return 字符、退格符替换为空字符串,如 :

   REPLACE(REPLACE(REPLACE(length_column,CHAR(8),''),CHAR(10),''),CHAR(13),'') as 
   length_column