S3バケットの別プロファイル間のファイルコピー(AWS CLI)
ycsg113XYZ 夜のコンパイル
REDSHIFTでテーブルにDISTKEYを設定しますが、その設定したDISTKEYがうまくいっているのかどうか、ちゃんと分散されているのかどうか気になることありますよねー
そんな時に各ノード毎の使用量を取得するSQLがあります!
以下のSQLに調べたい [テーブル名] をセットし実行!
1select node, max(name) as name, sum(rows) as rows
2from stv_slices m
3join stv_tbl_perm s on m.slice = s.slice
4where name = '[テーブル名]'
5group by node
6order by node;
実行すると、以下のように結果が返ってきます。
------+----------------+------
0 | xxtablenamexxx | 144
1 | xxtablenamexxx | 144
2 | xxtablenamexxx | 144
3 | xxtablenamexxx | 144
4 | xxtablenamexxx | 144
5 | xxtablenamexxx | 144
6 | xxtablenamexxx | 144
7 | xxtablenamexxx | 144
8 | xxtablenamexxx | 144
9 | xxtablenamexxx | 144
10 | xxtablenamexxx | 144
11 | xxtablenamexxx | 144
12 | xxtablenamexxx | 144
13 | xxtablenamexxx | 144
14 | xxtablenamexxx | 144
15 | xxtablenamexxx | 144
(16 行)
上記の例は16ノードある場合の例です。rowsの数が全て同じなのでうまく分散されてるぜ!ってな判断です。
逆にここの数字がバラバラで偏っている場合はDISTKEYを見直したほうが良いっつうことになります。