ablog

不器用で落着きのない技術者のメモ

Redshift でクエリを同時多重実行検証をするスクリプト

TL;DR

セットアップ

EC2
$ git clone git@github.com:yoheia/redshift_query_executer.git
$ git clone git@github.com:yoheia/redshift_concurrent_query_executer.git
$ git clone git@github.com:yoheia/redshift_poc_scenario_scripts.git
  • ~/.pgpass のを設定する
$ vi ~/.pgpass
redshift-cluster-poc.*******.ap-northeast-1.redshift.amazonaws.com:5439:dev:awsuser:Password1
redshift-cluster-poc.*******.ap-northeast-1.redshift.amazonaws.com:5439:dev:dwh_batch_user:Password1
redshift-cluster-poc.*******.ap-northeast-1.redshift.amazonaws.com:5439:dev:dwh_tool_user:Password1
redshift-cluster-poc.*******.ap-northeast-1.redshift.amazonaws.com:5439:dev:adhoc_l1_user:Password1
redshift-cluster-poc.*******.ap-northeast-1.redshift.amazonaws.com:5439:dev:adhoc_l2_user:Password1
$ chmod 600 ~/.pgpass
Redshift
  • クラスター作成
    • クラスター識別子: redshift-cluster-poc
    • ノードの種類: ra3.3xlarge
    • ノードの数: 2
    • IAMロールを関連づける: S3 に読み書きできる権限を持つIAMロールをアタッチ
  • セットアップスクリプトディレクトリに移動する
$ cd redshift_concurrent_query_executer/setup/
  • グループ・ユーザー作成
$ chmod u+x create_groups_users.sh
$ ./create_groups_users.sh
  • パラメーターグループとWLM設定
$ chmod u+x redshift_create_parameter-group.sh
$ ./redshift_create_parameter-group.sh
  • サンプルテーブルを作成してデータをロードする(~/.pgpass を設定した上で実行する)
$ nohup ./exec_all_ddl_copy.sh & 

実行

  • 実行する
$ cd redshift_concurrent_query_executer/executer/
$ ./redshift_poc_senario1.sh

検証結果の確認