由于截断,来自 S3 命令的 AWS COPY 失败 - 已解决
AWS COPY From S3 Command Fails As A Result of Truncation - RESOLVED
首先,我想提一下,我尝试在现有的 SO 问题中搜索此问题,但找不到遇到的情况。因此提出一个新问题。
所以我正在尝试将数据从 S3 导入到 Redshift。
S3 中的数据是 JSON 由换行符分隔的数据,即 \n
(使用 UNLOAD 命令从其他 redshift 集群导出)
复制命令为-
copy redhist_table_name
from 's3://bucket/path/to/s3/json/file.json'
iam_role 'iam_role_info'
region 'region';
json 'auto';
STL_LOAD_ERRORS 显示错误为 - delimiter not found
但是当我仔细查看时,我发现复制命令仅从 json 复制前 1024 个字符导致上述错误的行
我查找了复制命令提供的所有选项以查看是否有增加此限制的方法,但我找到了 none。
知道这个限制是从哪里来的吗?或者这不是这个问题的根本原因?
所以我想这不是根本原因。 Stl_load_errors 仅在“raw_line”列中存储 1024 个字符。一行的长度很可能有限制,但我知道它比 1024 个字符长得多。
文件中的哪一行 COPY 失败了?在文件中的第一个还是后面的某个地方?
如果文件深处有一行,则可能有问题。 UNLOAD to COPY 应该可以正常工作,但我可以看到可能存在一些特殊情况(例如字符串值中的 ")。如果它是特定行,则发布该行(如果需要则进行清理)会有所帮助。
首先,我想提一下,我尝试在现有的 SO 问题中搜索此问题,但找不到遇到的情况。因此提出一个新问题。
所以我正在尝试将数据从 S3 导入到 Redshift。
S3 中的数据是 JSON 由换行符分隔的数据,即 \n
(使用 UNLOAD 命令从其他 redshift 集群导出)
复制命令为-
copy redhist_table_name
from 's3://bucket/path/to/s3/json/file.json'
iam_role 'iam_role_info'
region 'region';
json 'auto';
STL_LOAD_ERRORS 显示错误为 - delimiter not found
但是当我仔细查看时,我发现复制命令仅从 json 复制前 1024 个字符导致上述错误的行
我查找了复制命令提供的所有选项以查看是否有增加此限制的方法,但我找到了 none。
知道这个限制是从哪里来的吗?或者这不是这个问题的根本原因?
所以我想这不是根本原因。 Stl_load_errors 仅在“raw_line”列中存储 1024 个字符。一行的长度很可能有限制,但我知道它比 1024 个字符长得多。
文件中的哪一行 COPY 失败了?在文件中的第一个还是后面的某个地方?
如果文件深处有一行,则可能有问题。 UNLOAD to COPY 应该可以正常工作,但我可以看到可能存在一些特殊情况(例如字符串值中的 ")。如果它是特定行,则发布该行(如果需要则进行清理)会有所帮助。