如何解决卸载包含引号和定界符的数据
inputTable
Id | Text
----------------------
1 | Alok
2 | Alok,"Kumar",Singh
targetTable
Id | Text
----------------------
0 | Vicky
问题/问题
需要在Redshift中使用UNLOAD和COPY将行从inpuTable复制到targetTable。怎么做?
Redshift提供了ADDQUOTES
和DELIMETER
,如果数据不需要转义DELIMETER,这将很有帮助。我无法在Redshift中转义DELIMETER
标志。请提出如何做的建议,而无需编写添加引号的过程。
尝试1
UNLOAD ('select * from inputTable') TO 's3://bucket/key/unload_' manifest allowoverwrite FORMAT AS CSV DELIMITER ',' ESCAPE;
1,Alok
2,Alok,Singh,
COPY targetTable FROM 's3://bucket/key/unload_manifest' manifest FORMAT AS CSV QUOTE AS '\"' DELIMITER ','
COPY命令无法加载数据。如何使用UNLOAD和COPY解决它?
ERROR: ESCAPE is not supported for UNLOAD to CSV
解决方法
<ul class="list-group" *ngFor="let p of finalPhraseResults">
<li class="list-group-item">
{{p.type}}
</li>
<li class="list-group-item">
{{p.sectionId}}
</li>
<li class="list-group-item">
{{p.sectionName}}
</li>
<li class="list-group-item">
{{p.webPublicationDate}}
</li>
<li class="list-group-item">
<button mat-raised-button color="primary" (click)="goToPhraseExternal(p.id)">Go to article</button>
</li>
</ul>
,this.finalPhraseResults = this.phraseResults.map(x=>x['results'][0]);
和ESCAPE
解决了这个问题。
ADDQUOTES
REMOVEQUOTES
这解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。