2015年12月03日

AWS Redshiftメモ

少しだけ使ったのでコマンドの内容だけメモを残しておく。

まずはAWSのCLIクライアントをインストール。Pythonおよびpipがインストールされていること。

$ sudo pip install awscli

アカウント設定。Access Key IDおよびSecret Access Keyを設定しておく。

$ aws configure

AWS Access Key ID : xxxxxxxxxxxxxxxxxx
AWS Secret Access Key : xxxxxxxxxxxxxxxxxx
Default region name : 
Default output format : 

Web UIからクラスタを立ち上げておく。メニューからRedshiftを選んでLaunch Clusterするだけなので説明は割愛。

立ち上がったら作ったcluster-ideitifierでdescribeできるか確認しておく。

$ aws redshift describe-clusters --cluster-identifier=${identifier} --region=${region}

Redshiftに読み込ませるファイルをS3に送る。

$ aws cp $local_path s3://$budget/$path --region=$region

psql(postgresqlのクライアント)で繋いでテーブル作り、S3のファイルをコピーする。下記ではgzip圧縮されたtsvと仮定。maxerrorで1000レコードまではエラーを許容している。

$ psql -h $end_point -U $user -p $port -d $db_name

> CREATE TABLE foo (bar varchar(255), baz integer);

> COPY foo FROM 's3://$budget/${path}' credentials 'aws_access_key_id=$access_key;aws_secret_access_key=$secret_key' delimiter '\t' maxerror as 1000 gzip;

あとは適当にpsql上でSELECTしたりして遊ぶ。