我尝试了Redshift Spectrum。下面的两个查询都成功结束,没有任何错误消息,但是我无法在S3中获得上载文件的正确计数,即使该文件有超过300万条记录,它也只是返回0行计数。
-- Create External Schema
CREATE EXTERNAL SCHEMA spectrum_schema FROM data catalog
database 'spectrum_db'
iam_role 'arn:aws:iam::XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
create external database if not exists;
-- Create External Table
create EXTERNAL TABLE spectrum_schema.principals(
tconst VARCHAR (20),ordering BIGINT,nconst VARCHAR (20),category VARCHAR (500),job VARCHAR (500),characters VARCHAR(5000)
)
row format delimited
fields terminated by '\t'
stored as textfile
location 's3://xxxxx/xxxxx/'
我也尝试了“存储为实木复合地板”选项,结果是一样的。 我的iam角色具有“ s3:”,“ athena:”,“ glue:*”权限,并且已成功创建Glue表。
以防万一,我确认可以将同一S3文件成功复制到Redshift Cluster中的表中。因此,我得出结论,文件/数据本身没有问题。
如果我的过程或查询有问题。任何建议将不胜感激。