繁体   English   中英

将 csv & json 数据从 S3 复制到 Redshift

[英]Copy csv & json data from S3 to Redshift

我有来自 s3 存储桶的如下格式的数据。

"2010-9","aws cloud","{"id":1,"name":"test"}"
"2010-9","aws cloud1","{"id":2,"name":"test2"}"

我想复制数据库中的数据,如下所示。

桌子

year   | env        | desc
2010-9 | aws cloud  |{"id":1,"name":"test"}
2010-9 | aws cloud1 |{"id":2,"name":"test2"}

我写了这个命令但没有用。 请你帮助我好吗?

copy table
from 's3://bucketname/manifest' credentials 'aws_access_key_id=xx;aws_secret_access_key=xxx'
delimiter ','
IGNOREHEADER 1
REMOVEQUOTES
IGNOREBLANKLINES
manifest;

你几乎在那里 - 你只需要转义第三个字段(desc)内的双引号。

If double-quotes are used to enclose fields, then a double-quote
       appearing inside a field must be escaped by preceding it with
       another double quote.  For example: "aaa","b""bb","ccc"

这是根据 rfc-4180 - https://www.ietf.org/rfc/rfc4180.txt

我还将 json 加载到 Redshift 中的文本字段中,然后使用 json 函数解析该字段。 效果很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM