在 Redshift COPY 中合并文件名

Posted

技术标签:

【中文标题】在 Redshift COPY 中合并文件名【英文标题】:Incorporate File Name in Redshift COPY 【发布时间】:2015-04-02 19:56:25 【问题描述】:

我需要将大约 200 万个 CSV 文件从 S3 存储桶加载到 Redshift 表中。这很容易(只需使用带有通配符或清单文件的COPY),除了我需要将每个文件的名称合并到结果表中。假设file1.csvfile2.csv 都包含:

a,b,c
d,e,f

我希望我的桌子有

file1 a b c
file1 d e f
file2 a b c
file2 d e f

有没有一种方法可以通过单个COPY 语句来完成?还是我需要遍历文件列表并一次加载/插入一个?

我怀疑后一种选择会严重影响性能...

【问题讨论】:

【参考方案1】:

目前无法实现。

这是 AWS 论坛上的一个简短主题,AWS 回复说“已创建功能请求”但“无法提供有关此问题的 ETA”: https://forums.aws.amazon.com/thread.jspa?messageID=590722&#590722

Stack Exchange 上已经有一个类似的问题: Redshift add column when importing with COPY

【讨论】:

以上是关于在 Redshift COPY 中合并文件名的主要内容,如果未能解决你的问题,请参考以下文章

如何用WinRAR解压缩7z分卷文件

WINDOWS 批处理命COPY 合并多个文件的问题

在 Redshift 中合并 JSON 数组中的元素

在 Redshift 中合并单独的月份和年份

如何在 Redshift 中合并 JSON 对象?

Redshift 不使用交错排序键执行合并连接