amazon-s3 - 从 s3 存储桶复制到 redshift 我在 stl_load_errosrs 的 raw_line 中收到系统消息
问题描述
我在 s3 存储桶中有一个制表符分隔的文本文件,我想将其上传到 redshift。
我的红移查询如下所示:
COPY rk_test_tab
from 's3://my_bucket/my_file'
iam_role 'arn:aws:iam::XXX:role/XXX'
IGNOREHEADER 1
BLANKSASNULL
EMPTYASNULL
MAXERROR 10
DELIMITER '\t'
;
通过 Python 读取的数据文件中的原始行如下所示:
b'1008498338\t1.0\t1\t1\tCBDT\n'
这失败并显示消息Load into table 'rk_test_tab' failed. Check 'stl_load_errors' system table for details.
当我查看stl_load_errors
该raw_line
字段时非常奇怪:(
[GC Worker Start (ms): Min: 430.9, Avg: 430.9, Max: 431.0, Diff: 0.2]
仔细检查我的文件中没有这样的行)
err_reason
给出Delimiter not found
为。
如果我删除该IGNOREHEADER 1
行,我会收到一个错误,因为我的标题与预期的数据字段类型raw_line
不匹配,但至关重要的是它与文件中的匹配,因此 s3 存储桶中的文件正在通过。
所以我的问题是:Redshift 试图读取看起来像系统信息消息(垃圾收集?)的东西可能出了什么问题。
解决方案
推荐阅读
- tomcat - Tomcat 忽略 removeAbandonedTimeout 并关闭池中的连接
- php - 如何从具有两个类名的 div 容器中获取内容(imdb)
- java - 试图通过 Java 从大型 AD 组中提取用户列表 - 只返回 1500 个 - 我怎样才能获得所有用户列表?
- azure - AzCopy 从文件共享复制到 blob,文件路径包含在 blob 名称中
- javascript - 在 JavaScript 中提取 C# 嵌入式资源
- r - 获取在非缺失值之间有缺失值的行
- python-3.x - Google Earth Engine - 从 ImageCollection Python API 导出 RGB 图像
- java - 将单例注入 Guice AOP 方法拦截器
- python - 从请求者下载文件支付亚马逊 s3 中的存储桶
- javascript - firebase 功能无法部署。意外的令牌功能