メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

ステップ 3: 外部スキーマと外部テーブルを作成する

外部テーブルは、外部スキーマで作成されている必要があります。外部スキーマは、外部データカタログのデータベースを参照し、ユーザーに代わってクラスターの Amazon S3 へのアクセスを許可する IAM ロール ARN を提供します。外部データベースは、Amazon Athena データカタログまたは Amazon EMR などの Apache Hive メタストアに作成できます。この例では、外部スキーマ 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 コマンドを実行します。

    注記

    この例のサンプルデータの Amazon S3 バケットは us-west-2 リージョンにあります。クラスターおよび Redshift Spectrum ファイルは同じリージョンにある必要があるため、この例では、クラスターも us-west-2 にある必要があります。

    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');