Glueとは?
AWS Glue とは?
Section titled “AWS Glue とは?”Glueは、データの検出、準備、統合を簡単にするサーバーレスなデータ統合サービスです。
主要コンポーネント
Section titled “主要コンポーネント”1. Glue Data Catalog
Section titled “1. Glue Data Catalog”概要: - 一元化されたメタデータリポジトリ - テーブル・スキーマ定義 - パーティション情報管理
統合サービス: - Amazon Athena - Amazon Redshift Spectrum - Amazon EMR - AWS Glue ETL
機能: - データベース管理 - テーブル定義 - パーティション管理 - バージョニング2. Glue Crawler
Section titled “2. Glue Crawler”概要: - データソースの自動スキャン - スキーマ自動推測 - テーブル自動作成 - パーティション自動検出
対応データソース: - Amazon S3 - Amazon RDS - Amazon Redshift - Amazon DynamoDB - JDBC接続可能なDB
スケジュール: - オンデマンド - Cron式 - イベント駆動3. Glue ETL Jobs
Section titled “3. Glue ETL Jobs”概要: - サーバーレスETL処理 - Apache Spark / Python Shell - 自動スケーリング
ジョブタイプ: Spark: - 大規模データ処理 - 分散処理 - Scala / PySpark
Python Shell: - 軽量処理 - スクリプト実行 - ライブラリ活用
Streaming: - リアルタイム処理 - Kinesis / Kafka統合
DPU(Data Processing Units): - 処理能力の単位 - 1 DPU = 4 vCPU + 16GB メモリ - 最小2 DPU〜最大100 DPU4. Glue Studio
Section titled “4. Glue Studio”概要: - ビジュアルETL開発 - ノーコード/ローコード - ジョブ作成・管理
機能: - ドラッグ&ドロップ - データソース接続 - 変換操作 - ジョブ実行・監視ETL変換操作
Section titled “ETL変換操作”基本変換: - ApplyMapping(列マッピング) - SelectFields(列選択) - DropFields(列削除) - RenameField(列名変更) - Filter(フィルタリング)
データ型変換: - ResolveChoice(型解決) - Cast(型変換)
集約・結合: - Join(結合) - Aggregate(集計) - Union(統合)
高度な変換: - Map(カスタム変換) - FlatMap(展開) - Custom transformation(PySpark)対応入力形式: - JSON - CSV - Parquet - ORC - Avro - XML
対応出力形式: - JSON - CSV - Parquet(推奨) - ORC - Avro
圧縮: - GZIP - SNAPPY - LZO - BZIP2ジョブブックマーク
Section titled “ジョブブックマーク”概要: - 増分処理の実現 - 処理済みデータ追跡 - 重複処理防止
仕組み: - 最終処理位置記録 - 次回実行時は新規データのみ - S3パス、タイムスタンプベース
用途: - 日次バッチ処理 - 増分ロード - コスト削減Glue DataBrew
Section titled “Glue DataBrew”概要: - ビジュアルデータ準備ツール - ノーコードデータクレンジング - プロファイリング機能
機能: データプロファイル: - 統計情報自動生成 - データ品質確認 - 異常検知
変換: - 250以上の組み込み変換 - レシピ作成 - 再利用可能
実行: - サンプルデータで検証 - 本番データ一括処理セキュリティ
Section titled “セキュリティ”暗号化: 保管時: - Data Catalog: 自動暗号化 - ETLジョブ: S3/CloudWatch Logs暗号化
転送中: - TLS/SSL
アクセス制御: IAMポリシー: - ジョブ実行権限 - Data Catalog アクセス - リソース作成権限
Lake Formation: - 細かいアクセス制御 - 列・行レベル
VPC: - VPC内でジョブ実行 - プライベートリソースアクセス - VPCエンドポイントモニタリング
Section titled “モニタリング”CloudWatch: メトリクス: - ジョブ実行時間 - DPU使用量 - 処理レコード数 - エラー数
ログ: - ジョブ実行ログ - エラーログ - Spark ログ
Glue コンソール: - ジョブ実行履歴 - 成功/失敗率 - パフォーマンス統計統合サービス
Section titled “統合サービス”データソース: - Amazon S3 - Amazon RDS - Amazon Redshift - Amazon DynamoDB - JDBC データベース
データ変換先: - Amazon S3 - Amazon Redshift - Amazon RDS - JDBC データベース
オーケストレーション: - AWS Step Functions - Amazon EventBridge - AWS LambdaCrawler料金
Section titled “Crawler料金”| 項目 | 価格 | 備考 |
|---|---|---|
| Crawler | $0.44 / DPU時間 | Data Processing Unit |
| 最小課金単位 | 10秒 | 10秒未満は10秒扱い |
ETL Jobs料金
Section titled “ETL Jobs料金”| 項目 | 価格 | 備考 |
|---|---|---|
| ETL Jobs | $0.44 / DPU時間 | データ変換ジョブ |
| 最小課金単位 | 1分 | 秒単位で課金 |
Data Catalog料金
Section titled “Data Catalog料金”| 項目 | 価格 | 備考 |
|---|---|---|
| 最初の100万オブジェクト | 無料 | テーブル・パーティション |
| 100万以降 | $1.00 / 100万オブジェクト / 月 | 追加オブジェクト |
| API呼び出し | $1.00 / 100万リクエスト | メタデータアクセス |
DataBrew料金
Section titled “DataBrew料金”| 項目 | 価格 | 備考 |
|---|---|---|
| インタラクティブセッション | $1.00 / 30分 | データプロファイリング |
| ジョブ実行 | $0.48 / ノード時間 | データ変換ジョブ |
料金計算例(Crawler 月10時間、ETL Job 月100時間、2 DPU使用):
| 項目 | 計算 | 料金 |
|---|---|---|
| Crawler | 10時間 × 2 DPU × $0.44 | $8.80 |
| ETL Jobs | 100時間 × 2 DPU × $0.44 | $88.00 |
| Data Catalog | 無料枠内 | $0.00 |
| 合計 | - | $96.80/月 |
料金計算例(DataBrew、月間20セッション、50時間ジョブ実行):
| 項目 | 計算 | 料金 |
|---|---|---|
| インタラクティブセッション | 20セッション × $1.00 | $20.00 |
| ジョブ実行 | 50時間 × $0.48 | $24.00 |
| 合計 | - | $44.00/月 |
DPU(Data Processing Unit)について:
- 1 DPU = 4 vCPU + 16GB メモリ
- デフォルト: 2 DPU(最小)
- 最大: 100 DPU(ジョブによる)
- 適切なDPU数の選択でコスト最適化
Glue vs EMR
Section titled “Glue vs EMR”Glue: メリット: - サーバーレス - 運用不要 - 自動スケーリング - 簡単なETL
デメリット: - カスタマイズ制限 - Spark設定制限
EMR: メリット: - 完全制御 - カスタマイズ可能 - 複雑な処理 - コスト効率(大規模)
デメリット: - クラスター管理必要 - 運用負荷Glueの重要ポイント:
- サーバーレスETL
- Data Catalog で統一メタデータ管理
- Crawler で自動スキーマ検出
- Athena/Redshift Spectrum統合
- ジョブブックマークで増分処理
- Glue Studio でビジュアル開発
- DPU単位の従量課金