AWS Glueクローラー(Crawler)は、AWS Glueのコンポーネントの一つで、データの中身を自動でスキャンし、スキーマ(データ構造)を推論して、Glue Data Catalogに登録する役割を担います。いわば「データの構造を読み取るロボット」です。
🔍 Crawlerの役割
- S3、RDS、DynamoDBなどのデータソースをクロール(走査)
- データの形式やカラム構造を自動で解析
- GlueのData Catalogにテーブルとして登録
- 新しいファイルやスキーマの変更も自動検出可能
🛠 主な使い方の流れ
-
Crawlerを作成
- データの場所(例:
s3://my-bucket/raw-data/
)を指定 - 分析対象のデータストアやIAMロールも設定
- データの場所(例:
-
ターゲットデータを走査
- CSV, JSON, Parquetなどを自動識別
- スキーマ情報を抽出(例:カラム名・型)
-
Data Catalogに反映
- 自動生成されたテーブルがGlueのデータベース内に作成される
- これにより、AthenaやRedshift Spectrumなどからクエリ可能に
📦 対応しているデータソースの例
データソース | 対応例 |
---|---|
Amazon S3 | CSV, JSON, Parquetなど |
Amazon RDS | MySQL, PostgreSQLなど |
Amazon DynamoDB | テーブル構造をそのまま取得 |
JDBC互換データソース | Oracle, SQL Serverなど(接続先により制限あり) |
✅ 利用するメリット
- スキーマ定義の手間が減る
- データの変更を自動で追跡可能
- ETL前の準備が非常に楽になる
- 他の分析サービスとの接続がスムーズ
🧠 補足
- スキーマが変わると、新しいバージョンとして記録されます(スキーマ変更に強い)
- Crawlerはスケジュール実行も可能(例:1日1回スキャン)
- 手動でのテーブル定義も可能ですが、Crawlerでの自動化が効率的です
AthenaやETLジョブの前にこのCrawlerを使うことで、**「どんなデータがあるのか」**を自動で認識し、活用できるようになります。
使いたいデータソースがあれば、それに応じた具体例もお出しできます!