【发布时间】:2014-12-06 20:21:57
【问题描述】:
在 Amazon Redshift 中,我有一个需要从多个 CSV 文件加载数据的表:
create table my_table (
id integer,
name varchar(50) NULL
email varchar(50) NULL,
processed_file varchar(256) NULL
);
前三列指的是文件中的数据。最后一列processed_filed 表示从哪个文件导入的记录。
我在 Amazon S3 中有文件,我想使用 COPY 命令导入它们。比如:
COPY {table_name} FROM 's3://file-key'
WITH CREDENTIALS 'aws_access_key_id=xxxx;aws_secret_access_key=xxxxx'
DATEFORMAT 'auto' TIMEFORMAT 'auto' MAXERROR 0 ACCEPTINVCHARS '*' DELIMITER '\t' GZIP;
有没有办法使用 COPY 命令自动填充第四列 processed_file 以插入文件名。
我可以在 COPY 之后执行 UPDATE 语句,但我正在处理大量数据,所以理想情况下我希望尽可能避免这种情况。
【问题讨论】: