まずは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したりして遊ぶ。