Redshift使用"^A"分隔符的COPY命令

5
我正在尝试使用以控制字符A(“^A”)分隔的文件,使用COPY命令加载到Redshift中。我发现默认分隔符是管道符号(“|”),而对于CSV文件,则是逗号(“,”)。

我无法找到一种使用^A的方法,当我尝试使用COPY命令和^A\x01时,会出现以下消息。有人之前尝试过吗? 文档说我们可以使用分隔符,但没有关于如何使用^A的线索。

Password: ERROR: COPY delimiter must be a single character

1个回答

8
我在 Redshift 和 Pig 中都使用 '\\001' 作为基于 ctrl+A 的字段分隔符。
例子:
copy redshiftinfo from 's3://mybucket/data/redshiftinfo.txt' 
credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret-access-key>' 
delimiter '\\001' 

1
不错的发现!请参考COPY分隔符文档中关于八进制的说明。 - John Rotenstein
@cloudninja 如果你认为这个回答很好地回答了你的问题,请将其标记为答案。如果你有任何建议,我可以添加更多细节。谢谢! - rahulbmv
我尝试了使用\001分隔符的COPY命令,效果很好。感谢您的提示。 - cloudninja
如果一个文件将会是制表符分隔的,那么该如何处理呢?有人可以提供建议吗? - user3040157

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接