Redshift UNLOAD COPY 失败数据损坏 stl_load_errors MAXFILESIZE

Posted

技术标签:

【中文标题】Redshift UNLOAD COPY 失败数据损坏 stl_load_errors MAXFILESIZE【英文标题】:Redshift UNLOAD COPY Failure Data Corruption stl_load_errors MAXFILESIZE 【发布时间】:2018-05-16 20:34:42 【问题描述】:

从 stl_load_errors 中选择不同的 err_reason;

无效数字,值“e”,位置 0,类型:整数 无效数字,值“e”,位置 1,类型:Double 无效数字,值“b”,位置 6,类型:整数 非空字段缺少数据 无效数字,值“N”,位置 0,类型:Long 无效数字,值“d”,位置 2,类型:Double 字符串长度超过 DDL 长度 无效数字,值 '"',位置 6,类型:整数 无效数字,值“L”,位置 0,类型:整数 未找到分隔符 无效数据 无效数字,值“D”,位置 0,类型:整数 无效数字,值“c”,位置 8,类型:整数 无效数字,值“f”,位置 5,类型:整数

我在使用卸载和复制功能完成从一个 Redshift 到另一个 Redshift 的数据迁移时遇到问题。经过大量检查,UNLOAD 语句似乎存在数据损坏,但我无法弄清楚原因。

【问题讨论】:

【参考方案1】:

原来是 UNLOAD 参数 MAXFILESIZE 导致了这个问题。正确删除它会卸载我的数据。我认为这个 Redshift 参数目前存在问题。

【讨论】:

我只能在 > 10GB 的表上重新创建此错误,但我没有做太多测试。我通知了 AWS 支持。

以上是关于Redshift UNLOAD COPY 失败数据损坏 stl_load_errors MAXFILESIZE的主要内容,如果未能解决你的问题,请参考以下文章

Redshift复制和卸载安全性

UNLOAD 使用包含引号和分隔符的数据

UNLOAD 命令是不是从 redshift 中删除或删除数据?

尽管数据有效,但 Redshift 上的 COPY 总是失败并出现时间戳错误

由于我的 csv 文件中的某些数据中存在“\”,Redshift Copy 命令失败

Redshift 中的 Unload 命令语法错误