Redshift命令-复制添加具有随机数的列

时间:2019-03-08 09:39:46

标签: amazon-web-services amazon-redshift

我正在卸载并从Redshift复制到S3-

unload (select * from tbl)
to <S3 location>
credentials <creds>
addquotes escape

copy tbl2
from <S3 location>
credentials <creds>
removequotes escape

我的表格就像-int,text,text,text。

复制命令在第一个int列中添加随机数,并将其他列向右移动,从而删除最后一列。

有人知道为什么会发生这种情况吗?

原始表-

col1 col2 col3 col4
1 abc def ghi jkl
2 mno pqr stu vwx

复制表-

col1 col2 col3 col4
123 1 abc def ghi
456 2 mno pqr stu

卸载表正确

1 个答案:

答案 0 :(得分:0)

猜测,可能有两件事是错误的。首先是您的to和from列顺序不同。

我会尝试

  1. 在S3的“ S3位置”打开文件
  2. 复制标题列(第1行)
  3. 编辑列文本,将分隔符更改为“,”(如果尚未)
  4. 将已编辑的列标题粘贴到复制命令中

    复制tbl2(“文件中的列列表”) 从 证书 删除引号转义

    如果您的S3文件缺少标题,则可以返回到原始导出过程并确定它是什么。

不太可能,您可能缺少

IGNOREHEADER 1

副本上的

参数。让我们知道您的发现。