2
1

AWS Glueを使用したS3からRDS(MySQL)へのデータ取り込み4

Posted at

ジョブを作成する

ETL jobs→Visual ETLボタンを押下する。
image.png

左上の鉛筆マークを押下してジョブ名を変更する
image.png

Sourcesを追加

Sourcesの中から「Amazon S3」を選択すると、画面にS3のノードが追加される。
image.png

Name:任意の名前を入力
S3 URL:CSVデータの取得元になるS3を選択する。
バケットを指定する場合は、後ろに追記する。
Data format:CSVを選択
IAM role:Glue用に作ったものを選択する

他の設定は通常のCSVであればデフォルトでOK。

image.png

Transformsを追加

S3のノードを選択(クリック)した状態で、Change Schemaを選択する。

image.png

すると、S3の下にChange Schemaのノードが追加される。
Name:ご自由に
Change Shema(Apply mapping)にCSVの項目が表示されるので、Target keyに格納したいRDSのカラム名を記入する。
Data typeで型を選択できる。
取込不要な項目はDropのチェックボックスをOnにする。

他は特にそのままで良いが、CSVの行数が多いと左下のプレビューが重くて余計な時間がかかる。
ジョブ作成時、S3には1行程度のCSVを置いておく方が良い。
image.png

Targetsを追加

Change Schemaのノードを選択した状態で、MySQLを選択する。

image.png

MySQLノードが追加されるので設定する。
Name:ご自由に
Database:データ格納対象のデータベースを選択する
Table:データ格納対象のテーブルを選択する
image.png

ジョブの実行

設定が完了したら右上の「Run」ボタンを押下する。
ここまでConnectionとクローラーが問題なく設定できていれば、そうそう難しい問題は起きない。
カラム名が無いとかデータ型が合わないといった内容なので一つずつ潰していこう。
image.png

これでS3のCSVをRDSのMySQLインスタンスへ取り込むことができた。
難しいことをしようとすればもっと複雑な作業が必要になるだろうが、単純に取り込むだけであればノーコードで結構簡単にできた。
Connectionで発生するよくわからないエラーだけは勘弁して欲しいが、もう少し深堀して有効活用したいと思う。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1