Redshift 命令 - 复制添加带有随机数的列
Posted
技术标签:
【中文标题】Redshift 命令 - 复制添加带有随机数的列【英文标题】:Redshift command - Copy adding a column with random numbers 【发布时间】:2019-03-08 09:39:45 【问题描述】:我正在从 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
卸载的表是正确的
【问题讨论】:
请问您能否在您的问题中添加一些示例数据 - 处理前后的表格以及 s3 中某些行的原始转储?UNLOAD
文件的内容看起来是否正确?
@user2828360 请问你能按照上面的 cmets 更新我们吗?
@JonScott 添加了虚拟数据
【参考方案1】:
猜测,有两件事可能是错误的。首先是您的 to 和 from 列顺序不同。
我会试试的
-
在 S3 的“S3 位置”打开文件
复制标题列(第 1 行)
编辑列文本,将分隔符更改为“,”(如果还没有)
将编辑后的列标题粘贴到您的复制命令中
copy tbl2('文件中的列列表') 从 证书 删除引号转义
如果您的 S3 文件缺少标题,请返回原始导出过程并找出它是什么。
不太可能,您可能会错过
忽略标题 1
副本上的参数。让我们知道您发现了什么。
【讨论】:
以上是关于Redshift 命令 - 复制添加带有随机数的列的主要内容,如果未能解决你的问题,请参考以下文章
Redshift 中的 COPY CSV 命令是不是按标题中定义的顺序加载?