0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Glue Crawlerの設定方法

Last updated at Posted at 2024-12-03

はじめに

GlueCrawlerの設定周りを調査したので、設定内容についてまとめていきます。
今回はS3のCSVデータをAthenaからクエリ出来るように設定することを想定しています。

GlueCrawlerとは

DBやS3などからメタデータを取得し自動でデータカタログを作成してくれるツールでスキーマの更新やパーティションの追加なども行ってくれます。

事前準備

データカタログを登録するデータベースを作成します。

image.png

s3にcsvファイルを用意します。
(作成されるテーブル名は指定したバケットのディレクトリ名になるので注意する。)

Step1

Crawlerの名前を設定します。

image.png

Step2

Data source configuration

データカタログの元となるデータソースを選択します。
既に既存のテーブルがデータカタログに登録されている場合はYesを選択しますが、今回はs3のデータから新規でテーブルを作成するのでNot yetを選択します。

Custom classifiers

非標準フォーマットのデータや複雑なスキーマの場合にはclassifiersを作成し設定することが出来ます。

image.png

Data source

S3を選択します。S3以外にJDBCやDynamoDBなどを指定することも可能です。

S3 path

S3のpathを入力します。

Subsequent crawler runs

Crawl all sub-folders
すべてのサブフォルダを毎回クロールする方法で、データ変更の頻度が高い場合や、全体的な確認を行いたい場合に適しています。
Crawl new sub-folders only
新たに追加されたサブフォルダのみをクロールする方法で、効率的でリソースの節約になります。
Crawl based on events
S3のイベントを使ってクロールをトリガーする方法で、リアルタイムでのデータ更新に対応し、処理の無駄を省きます。
Crawl new sub-folders onlyの場合、カラムの更新やパーティションの追加がされないので今回はCrawl all sub-foldersを選択します。

image.png

Step3

crawlerを実行するIAM roleを設定する。

image.png

Step4

Target database

事前準備として作成したデータベースを選択する。

Table name prefix

クローラーで作成されるテーブル名はS3の親ディレクトリ名の名前になりますが、テーブル名にプレフィックスを追加することが可能です。

Maximum Table Threshold

クローラーが生成できる最大テーブル数を指定することが出来ます。

image.png

S3 schema groupingAdvanced options

指定されたS3パス以下のすべてのオブジェクトに対して、互換性のあるスキーマを1つのテーブル定義にまとめる設定。

Table Level

データの階層構造に基づいてテーブルの作成位置を決定する設定。

When the crawler detects schema changes in the data store, how should AWS Glue handle table updates in the data catalog?

スキーマの変更を検出したときに、データカタログ内のテーブルの更新をどのように処理するかを決定する設定。

Update all new and existing partitions with metadata from the table

クローラーが新しいパーティションや既存のパーティションのメタデータをテーブルから更新する際の設定。

How should AWS Glue handle deleted objects in the data store?

データストアからオブジェクトが削除された場合の設定。

Create partition indexes automatically

自動パーティションインデックス作成の設定。

image.png

Crawler schedule

手動実行でのOn demand以外にcron形式で設定することが可能です。

最後に

Glue Crawlerの具体的な設定手順と項目の説明を記述しました。
作成したCrawlerを実行するとAthenaで対象のcsvデータが確認できるようになります。
ぜひ試してみてください。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?