如何使用从s3到redshift db的复制命令解决语法错误

时间:2019-09-06 19:14:26

标签: amazon-s3 amazon-redshift

从s3到redshift的复制命令中的语法错误

我可以连接到redshift数据库,但是在copy命令的表名处出现语法错误。我正在s3中将一个csv文件用于redshift中的schema.tblname

COPY ###_schema.tblName_csv
FROM 's3://####/###/Filename.csv'
CREDENTIALS 'aws_iam_role=arn:aws:iam::######'
DATEFORMAT 'auto'
IGNOREHEADER 1
DELIMITER ','
IGNOREBLANKLINES;

我希望能够在加载数据后从此tbl中选择*

1 个答案:

答案 0 :(得分:0)

Redshift COPY命令将需要某种方式来获得s3权限。你可以

  • 使用IAM角色(角色has to associated with your cluster)提供

    copy customer from 's3://mybucket/mydata'  
    iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
    
  • 提供AWS访问密钥和秘密密钥

    copy table-name
    from 's3://objectpath'
    ACCESS_KEY_ID '<access-key-id>'
    SECRET_ACCESS_KEY '<secret-access-key>';
    
  • 从sts服务提供临时凭据

    copy table-name
    from 's3://objectpath'
    access_key_id '<temporary-access-key-id>'
    secret_access_key '<temporary-secret-access-key>
    token '<temporary-token>';
    

Redshift Manual reference