目次
LambdaとGlueの違いのまとめ
役割 | 処理時間上限と規模 | 実行基盤 | |
---|---|---|---|
Lambda | 短時間・イベント駆動の小規模処理 | ・最大 15分/実行 ・数MB〜数GB程度 |
コンテナ化された軽量環境 |
Glue | 長時間・大規模データのETL処理 | ・長時間ジョブ(数時間〜)可能 ・数百GB〜数TBの大規模データ |
Apache Spark クラスターを自動構築 |
規模と用途に応じて使い分けます。
実際のシステムでは S3にデータ到着 → Lambdaでジョブ起動 → Glueで本格ETL処理 という組み合わせもよく使われます。
Lambda(ラムダ)とは
役割
- 「イベント駆動で短いコードを実行する」ためのサービス
- API呼び出しやS3アップロード、CloudWatchイベントなどをトリガーに数秒〜数分の処理を実行
- 小規模なデータ変換や通知、APIバックエンドなどに適する
料金
- 実行時間 × メモリサイズ × 実行回数で課金
- 短時間・軽量処理向けにコスト効率が高い
使用するプログラム言語
- 標準的に使えるのは、Node.js、Python、Java、C#/.NET、Go、Rubyです。
得意なケース
- S3にファイルがアップロードされたら通知する
- API Gatewayのバックエンド
- CloudWatchイベントで定期的に小さな処理を実行
- DynamoDBやSQS連携の小規模バッチ
Glue(グルー)とは
役割
- 「大規模データのETL(抽出・変換・ロード)処理」に特化したサーバーレス基盤
- Apache Sparkベースで分散処理が可能
- データレイクやDWH(例:S3 → Redshift)の変換・ロードに使う
料金
- DPU(Data Processing Unit、仮想CPU+メモリの単位)時間で課金
使用するプログラム言語
- メインは、Pythonです。
得意なケース
- S3に保存された大量のログやCSVを加工してRedshiftにロード
- データカタログ(メタデータ管理)を使ったETLパイプライン
- Sparkを利用した分散クレンジング・機械学習前処理
- データレイクからの大規模変換処理
関連の記事