Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

步骤 3:创建外部架构和外部表

外部表必须在外部架构中创建。外部架构引用了外部数据目录中的数据库并提供了 IAM 角色 ARN (代表您授权您的集群访问 Amazon S3)。您可在 Amazon Athena 数据目录或 Apache Hive 元存储 (如 Amazon EMR) 中创建外部数据库。在本示例中,您将在创建外部架构 Amazon Redshift 时在 Amazon Athena 数据目录中创建外部数据库。有关更多信息,请参阅 为 Amazon Redshift Spectrum 创建外部架构

创建外部架构和外部表

  1. 要创建外部架构,请将以下命令中的 IAM 角色 ARN 替换为您在步骤 1 中创建的角色 ARN,然后在 SQL 客户端中执行该命令。

    Copy
    create external schema spectrum from data catalog database 'spectrumdb' iam_role 'arn:aws:iam::123456789012:role/mySpectrumRole' create external database if not exists;
  2. 要创建外部表,请运行以下 CREATE EXTERNAL TABLE 命令。

    Copy
    create external table spectrum.sales( salesid integer, listid integer, sellerid integer, buyerid integer, eventid integer, dateid smallint, qtysold smallint, pricepaid decimal(8,2), commission decimal(8,2), saletime timestamp) row format delimited fields terminated by '\t' stored as textfile location 's3://awssampledbuswest2/tickit/spectrum/sales/' table properties ('numRows'='172000');