こいつに入門します。
一言でいうと…
マネージドETLサービスです。
- ETLとは「Extract/Transform/Load」の略で、分析用に様々なデータを集める際に発生する「取り出す/変換する/取り込む」というプロセスを表しています。
- Glueとは「糊」のことで、ETLにおいてAWSのリソースとリソースを繋ぐことの比喩になっているようです。
※ややこしいですがDevOps Guruというサービスも最近出現しています。このGuruは「賢者」を表す別単語で、機械学習を活用した賢いサービスを比喩しているものと思われます。
Glueの概念図
データソースから取り込んだデータをETLジョブで加工し、ターゲットに格納して分析などに利用します。
Glueのコンポーネント
データカタログ
ETL処理をしたいデータのメタデータを管理するもの。元データ(データソース)からGlueのクローラーで抽出してきたもの。
ETLジョブ
ETL処理そのもの。Glueのサーバーレスエンジンにて実行される。
ジョブ形式
- Python
- Spark:Kinesis Data Streamsをデータソースとしてストリームデータを取り込むことが可能。
便利機能
ビジュアルETL(Glue Studio)
GUIを使ってノーコードでETLジョブを作成できます。
ワークフロー
複数のクローラー、ジョブ、トリガーを使う複雑なETL処理を作成し、可視化できる。
位置付けはStep Functionと少し似ています。
似たAWSサービス
Glue DataBrew
分析データの前準備(クリーンアップや正規化)をノーコードで簡単に行えるサービス。
GlueにもビジュアルETL(Studio)があるが、DataBrewの方が完全ノーコードで出来ることが多い。
Glue Studioはスキーマ操作寄り、DataBrewはデータの中身の処理寄り。
利用料金
- ジョブ/クローラー:使用したリソース量と時間で課金
- データカタログ:データ量とアクセス量で課金
その他、勉強に役立つページ
AWS Black Belt
ハンズオン(Glue Studio)