背景・目的
前回、CDKでResdshift Serverlessを作成しました。今回は作成したDDLに対してデータをロードしたときのメモになります。
実践
事前準備
- データロード用のS3を作成します
- データロード用のS3を読み込めるIAMロールを作成します
- NameSpaceに上記のIAMロールを紐づけます
テストデータを用意
データロード
COPY コマンドで S3 から Redshift にデータをロードします。
- 下記のコマンドでコピーします
COPY <スキーマ名>.<テーブル名>
FROM '<S3パス>'
IAM_ROLE default
CSV
IGNOREHEADER 1
TIMEFORMAT 'auto'
DATEFORMAT 'auto';
考察
- COPY コマンドは INSERT と比べて大量データのロードに適している(S3 から並列で読み込むため高速)
- IAM_ROLE default を使うことで、COPY コマンドに ARN を直接書く必要がなくなる
- テーブルごとに S3 のパスを分けておくと、ロードの管理がしやすい
参考
