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へ移動。
クエリエディタに移動し、クローラによって出来たテーブルを確認し、
テーブル名の右にあるボタンから「テーブルをプレビュー」を選択。テーブルの内容を確認する。