我在S3中生成一个逗号分隔文件,需要使用postgres COPY
命令将其复制到redshift数据库中的临时表。
它有一个boolean
字段。我可以想到用一种明智的方式来表示文件中的布尔值,redshift copy会抱怨,通常是“未知的布尔格式”。
我要放弃并将登台表字段更改为smallint
,以便我可以继续复制并将加载时的值从暂存转换为最终的红移表,但我是好奇,如果有人知道正确的咒语。
答案 0 :(得分:1)
零或一个对我们来说效果很好。
仔细检查您的负载,这可能是另一个推动'布尔列中的数据无效。
例如,我们的数据中嵌入了各种各样的疯狂字符会导致错误。我最终决定使用US
字符作为记录分隔符。
答案 1 :(得分:0)
检查以确保在COPY
命令期间排除标题。
我遇到了同样的问题,但添加ignoreheader 1
选项(导入期间忽略1个标题行)解决了这个问题。