gpt4 book ai didi

csv - AWS 数据管道 RedShift "delimiter not found"错误

转载 作者:行者123 更新时间:2023-12-04 14:25:48 27 4
gpt4 key购买 nike

我正在研究数据管道。在其中一个步骤中,来自 S3 的 CSV 被 RedShift DataNode 使用。我的 RedShift 表有 78 列。检查:

SELECT COUNT(*) FROM information_schema.columns WHERE table_name = 'my_table';

在 RedshiftCopyActivity 'STL_load_errors' 表失败后,第 1 行的列 namespace (这是第二列,varchar(255))在位置 0 上显示“未找到定界符”(1214) 错误。使用的 CSV 行如下所示:

0,my.namespace.string,2119652,458031,S,60,2015-05-02,2015-05-02 14:51:02,2015-05-02 14:51:14.0,1,Counter,1,Counter 01,91,Chaymae,0,,,,227817,1,Dine In,5788,2015-05-02 14:51:02,2015-05-02 14:51:27,17.45,0.00,0.00,17.45,,91,Chaymae,0,0.00,12,M,A,-1,13,F,0,0,2,2.50,F,1094055,Coleslaw Md Upt,8,Sonstige,900,Sides,901,Sides,0.00,0.00,0,,,0.0000,0,0,,,0.00,0.0000,0.0000,0,,,0.00,0.0000,,1,Woche Counter,127,Coleslaw Md Upt,2,2.50

简单替换后(“,”到“\n”)我有 78 行,所以看起来数据应该匹配......我坚持下去。也许有人知道如何找到有关错误的更多信息或查看解决方案?

编辑

查询:

select d.query, substring(d.filename,14,20), 
d.line_number as line,
substring(d.value,1,16) as value,
substring(le.err_reason,1,48) as err_reason
from stl_loaderror_detail d, stl_load_errors le
where d.query = le.query
and d.query = pg_last_copy_id();

结果为 0 行。

最佳答案

我想通了,也许对其他人有用:

事实上有两个问题。

  1. 我在 redshift 表中的第一个字段是 INT IDENTITY(1,1) 类型,在 CSV 中我有 0 值。从 CSV 中删除第一列后,即使没有指定的列映射,也可以毫无问题地复制所有内容,如果...
  2. DELIMITER ',' commandOption 已添加到 S3ToRedshiftCopyActivity 以强制使用逗号。没有它,RedShift 会将命名空间 (my.namespace.string) 中的点识别为分隔符。

关于csv - AWS 数据管道 RedShift "delimiter not found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34202570/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com