AWSのRedshiftでcreate table文を取得するサンプルです。
目次
サンプル | Redshiftとは |
クエリエディタでcreate table文を取得する(改行なし) | |
クエリエディタ2でcreate table文を取得する(改行あり) | |
サンプルテーブルのcreate table文 |
Redshiftとは
- Redshiftは、フルマネージド型のデータウェアハウスサービスです。
- データウェアハウスとは、大量のデータを収集、保存、分析するためのデータベースです。
- PostgreSQLをベースに開発されています。
- TICKITと呼ばれるサンプルテーブルを使用します。
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_sampledb.html
クエリエディタでcreate table文を取得する(改行なし)
1.検索入力欄で「Redshift」と入力し、表示された「Redshift」をクリックします。
※画面右上のリージョンを確認します。例:東京 ap-northeast-1
2.画面左のクラスターをクリックし、「クエリエディタ」をクリックします。
3.データベースに接続し以下のSQLを実行します。
SHOW TABLE users
usersテーブルは、サンプルとして最初からあるテーブルです。データもあります。
4.画面下にcreate table文が表示されます。改行はされていません。
クエリエディタ2でcreate table文を取得する(改行あり)
1.画面左にある「クエリエディタ2」をクリックします。
2.データベースの階層図で目的のテーブルまで展開し、「Show table definition」をクリックします。
3.usersテーブルのcreate table文が表示されます。
サンプルテーブルのcreate table文
usersテーブル
CREATE TABLE public.users (
userid integer NOT NULL ENCODE raw
distkey
,
username character(8) ENCODE lzo,
firstname character varying(30) ENCODE lzo,
lastname character varying(30) ENCODE lzo,
city character varying(30) ENCODE lzo,
state character(2) ENCODE lzo,
email character varying(100) ENCODE lzo,
phone character(14) ENCODE lzo,
likesports boolean ENCODE raw,
liketheatre boolean ENCODE raw,
likeconcerts boolean ENCODE raw,
likejazz boolean ENCODE raw,
likeclassical boolean ENCODE raw,
likeopera boolean ENCODE raw,
likerock boolean ENCODE raw,
likevegas boolean ENCODE raw,
likebroadway boolean ENCODE raw,
likemusicals boolean ENCODE raw
) DISTSTYLE KEY
SORTKEY
(userid);
3行目にdistkeyがあるので、2行目のuseridは分散キーです。
22行目の「DISTSTYLE KEY」はKEY分散です。distkey列の値で分散されます。
23行目のSORTKEYは、テーブルにデータをセットする時に指定した列でソートします。
salesテーブル
CREATE TABLE public.sales (
salesid integer NOT NULL ENCODE az64,
listid integer NOT NULL ENCODE az64
distkey
,
sellerid integer NOT NULL ENCODE az64,
buyerid integer NOT NULL ENCODE az64,
eventid integer NOT NULL ENCODE az64,
dateid smallint NOT NULL ENCODE raw,
qtysold smallint NOT NULL ENCODE az64,
pricepaid numeric(8, 2) ENCODE az64,
commission numeric(8, 2) ENCODE az64,
saletime timestamp without time zone ENCODE az64
) DISTSTYLE KEY
SORTKEY
(dateid);
4行目にdistkeyがあるので、3行目のlistidは分散キーです。
14行目の「DISTSTYLE KEY」はKEY分散です。distkey列の値で分散されます。
15行目のSORTKEYは、テーブルにデータをセットする時に指定した列でソートします。
dateテーブル
CREATE TABLE public.date (
dateid smallint NOT NULL ENCODE raw
distkey
,
caldate date NOT NULL ENCODE az64,
day character(3) NOT NULL ENCODE lzo,
week smallint NOT NULL ENCODE az64,
month character(5) NOT NULL ENCODE lzo,
qtr character(5) NOT NULL ENCODE lzo,
year smallint NOT NULL ENCODE az64,
holiday boolean DEFAULT false ENCODE raw
) DISTSTYLE KEY
SORTKEY
(dateid);
3行目にdistkeyがあるので、2行目のdateidは分散キーです。
12行目の「DISTSTYLE KEY」はKEY分散です。distkey列の値で分散されます。
13行目のSORTKEYは、テーブルにデータをセットする時に指定した列でソートします。
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_sampledb.html
関連の記事