はじめに
Glueを作成してみたのですが、用語の内容がよく頭にはいらない。。。
整理のため、Glueのサービス内で出てくる用語についてまとめたいと思います。
Glueってどんなサービスなのか
ETL処理が行えるマネージドサービス。
多様なデータソースからデータカタログでデータを管理し、ETL(抽出、変換、ロード)を視覚的に実施することができる。
ロード後のデータについては、Athena、EMR、Redshift Spectrumでデータを検索することができる。
ETLとは
- データを抽出、変換、格納すること
クローラー
データカタログに格納する。
「分類子(classifiers)」を元にスキーマを返却する。
読み方は勝手に「クラシフィア」と読んでいる。
「分類子」という単語はいまいち馴染みがないところです。
分類子(classifiers)とは
- クローラーがデータソースを抽出する際のルールみたいなものだと認識している。
- 「GrokClassifier」、「XMLClassifier」、「JsonClassifier」、「CsvClassifier」がある。
データカタログ
データソースを元にクローラーが作成したメタデータ。
メタデータとは
- 元データの詳細みたいなもので、そのデータが付随して持つ情報。(更新者や更新日など。)
上記からクローラーは「分類子(classifiers)」に記載されたルールを元にデータソース内のデータを検索し、データカタログにデータソース内のデータのメタデータを格納する。
- AWS Glue Data Catalog
トリガー
スケジュールや条件によって、ジョブとクローラーの開始タイミングを設定することができる。
Cron式を用いて、トリガーの開始時間やらを設定することができる。
cron(Minutes Hours Day-of-month Month Day-of-week Year)
また、前のジョブやクローラーが条件を満たした際に起動するなどの条件付きトリガーの設定が可能。
AWS Glue Studio
ETLのジョブをGUIで視覚的に作成して実行することができる。
まとめ
- クローラーが設定したルール(分類子)を元にデータソースからデータを抽出し、メタデータを格納したデータカタログを作成する。
- 作成したデータカタログはS3などに格納し、「Amazon Athena」で抽出することが可能。
- 上記の処理については、「AWS Glue Studio」で視覚的に作成することや、トリガーを設定し、定期的に実行するなどの設定が行える。