AWS glueクローラ作成
IAMロール作成
ロール名:glue_test_Admin
信頼関係はglue
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "glue.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
ポリシーはテスト環境なのでアドミン
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
接続設定
名前:glue_test_s3
接続タイプ:Network
アクセスは予め作成しておいたVPCとサブネットとセキュリティグループを設定。
バケット作成
s3にバケットを作成しておき、フォルダもそれぞれ作成しておく。
フォルダ構成
parquet/ 作成したparquetファイル置場
script/ ジョブ実行時に作成されたスクリプトの置場
tmp/ ジョブ実行時に作成された一時ファイルの置場
upload_csv/ アップロードしたcsvデータソース
クローラー作成
クローラに関する情報の追加
クローラー名だけ入力して次へ
クローラー名
from_csv_to_datacatalog
Specify crawler source type
デフォルトのまま次へ
データストアの追加
・データストアの選択
s3
・接続
先に追加した接続設定を選択
・クロールするデータの場所
「自分のアカウントで指定されたパス」にチェック
・インクルードパス
s3に作成したcsvファイルのアップロードフォルダを設定。
この際、入力フォームの右にあるフォルダのアイコンから設定しようとすると、csvファイルそのものも選択できるが、ファイルは選択せず、フォルダを選択する。そうしないとテーブルの内容が取得できず、ジョブ実行時にエラーになる。
・Sample size (optional)
デフォルトのまま
・エクスクルードパターン
クロールしないオブジェクトの設定、今回は空白のまま
別のデータストアの追加
今回は「いいえ」
IAM ロールの選択
「既存の IAM ロールを選択」にチェック
IAM ロール
先に設定したIAMロールを選択
スケジュール
とりあえず「オンデマンドで実行」を選択
出力
「データベースの追加」からデータベース名に「from_csv_to_datacatalog」を入力し、作成。
「テーブルに追加されたプレフィックス」に
「from_csv_to_datacatalog_」を入力。作成されたテーブル名はここで設定するプレフィックス名とs3にあるデータソースフォルダの名前から生成される。
その他はとりあえずそのままで次へ
確認ページ
完了ボタンを押下
クローラの実行
クローラ一覧ページから実行するクローラにチェックを入れて「クローラの実行」ボタンを押下。
「追加したテーブル」項目に1が記載される。
テーブル一覧ページに移動し、
「from_csv_to_datacatalog_upload_csv」というテーブルができているか確認。
テーブル内容確認
AWS Athenaへ移動。
クエリエディタに移動し、クローラによって出来たテーブルを確認し、
テーブル名の右にあるボタンから「テーブルをプレビュー」を選択。テーブルの内容を確認する。