导入时在亚马逊红移加列我有一个表,我需要从多个CSV文件加载数据:红移与COPY
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语句,但是我正在处理大量的数据,所以理想情况下我希望尽可能避免这种情况。
这并不能解决您提出的问题。您将静态值添加到您默认的列中。您加载的每个文件都以相同的值结束。试试这个,而不是http://stackoverflow.com/questions/16525175/amazon-redshift-how-to-copy-from-s3-and-set-a-job-id – ensslen 2015-06-04 17:00:27