我能够将数据卸载到 S3,并使用 Spectrum 查询结果,但在使用下面定义的分隔符时不能。这是我们的标准分隔符,适用于我们今天与 Redshift COPY 和 UNLOAD 命令相关的所有处理,所以我相信 UNLOAD 工作正常。但是在表定义和用于检索数据的 SQL 查询之间的某个地方,这是行不通的。我们只收到所有字段的 NULLS。您能否查看下面的示例以确定后续步骤。
unload ('select * from db.test')
to 's3://awsbucketname/ap_cards/'
iam_role 'arn:aws:iam::123456789101:role/redshiftaccess'
delimiter '\325'
manifest;
CREATE EXTERNAL TABLE db_spectrum.test (
cost_center varchar(100) ,
fleet_service_flag varchar(1)
)
row format delimited
fields terminated by '\325'
stored as textfile
location 's3://awsbucketname/test/';
select * from db_spectrum.test