【问题标题】:Getting Redshift error 1214 during copy复制期间出现 Redshift 错误 1214
【发布时间】:2018-07-08 16:18:49
【问题描述】:

我在redshift中有下表:

 Column | Type
 id       integer
 value    varchar(255)

我正在尝试复制(使用数据管道的 RedshiftCopyActivity),并且数据具有 1,maybe 行作为尝试添加的条目,但我返回错误 1214:Delimiter not found 和 raw_field_data 值是maybe。复制参数中是否缺少某些内容?

整个 csv 是三行:

1,maybe
2,no
3,yes

【问题讨论】:

  • 您能否将值分隔在两个(或 n 个,取决于 csv 中的属性数量)不同的列中,删除 , 然后试一试?另外,目的地是否支持两个属性?
  • 尝试将行尾字节更改为 linux 中的预期值?这是在Windows中准备的吗?我很久以前就停止使用 AWS datapipline,因为这样的问题太多了。很难调试!

标签: amazon-redshift


【解决方案1】:

你可能想看看类似的问题Redshift COPY command delimiter not found

确保您的 RedshiftCopyActivity 配置包含来自https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html#copy-csvFORMAT AS CSV

确保您的输入数据在 每个 字段之间有您配置的分隔符,即使是空值也是如此。

确保没有任何尾随空行。

您可以运行以下 SQL(来自链接的问题)以查看导致问题的行的更具体详细信息。

SELECT le.starttime, 
  d.query, 
  d.line_number, 
  d.colname, 
  d.value,
  le.raw_line,
  le.err_reason 
FROM stl_loaderror_detail d, 
JOIN stl_load_errors le
ON d.query = le.query
ORDER BY le.starttime DESC;

【讨论】:

  • 所以事实证明,我的 s3 存储桶中有多个以相同字符系列开头的文件,并且 datapipeline 中的 RedshiftCopyActivity 试图将这些文件(它们是不同的模式)复制到目标表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 2018-07-19
  • 2021-08-06
  • 1970-01-01
相关资源
最近更新 更多