AWS DEA-C01 対策 AWS Glue - Python Shell ジョブ vs PySparkジョブ
AWS GlueのPython ShellジョブとPySparkジョブの違いを理解し、資格取得に重要なデータサイズとコスト効率による適切な選択基準を把握する。実践的な問題を通じて使い分けのポイントを解説します。
この記事のポイント
- 1AWS Glue Python ShellジョブとPySparkジョブの決定的な違いを理解する
- 2データサイズとコスト効率に応じた適切なジョブタイプの選択基準を把握する
- 3パフォーマンス最適化における実装時の重要な考慮事項を実践問題で確認する
目次
AWS Glue ETLジョブとは
AWS Glueは、サーバーレスなデータ統合サービスで、ETL(Extract, Transform, Load)処理を自動化できます。主要な実行エンジンとしてPython ShellジョブとPySparkジョブの2つがあり、それぞれ異なるデータサイズと処理要件に最適化されています。
資格試験では、データサイズとコスト効率に基づく適切なジョブタイプの選択が重要な判断ポイントとなります。
資格試験での重要トピック
AWS Glue ETLジョブに関連した資格試験で重要なトピックを解説します。
Python Shell vs PySparkの決定的な違い
Python ShellジョブとPySparkジョブの最も重要な違いは、処理アーキテクチャとコスト効率にあります。この比較表は、両ジョブタイプの特性と使用シナリオの違いを示しています。
指定されたサービス/設定が見つかりません: pythonShell, pySpark
上記の比較表に示すように、Python Shellジョブはシングルノード処理で最小0.0625 DPUで実行可能です。Pandasライブラリが事前ロードされており、100MB程度のCSVファイルなど小規模データ処理に最適化されています。シンプルなデータ変換や小規模ETL処理でコスト効率が最高になります。
一方、PySparkジョブはApache Sparkによる分散処理を活用し、複数ノードでの並列処理が可能です。最小2 DPUが必要ですが、数GB~TB規模のデータを効率的に処理できます。動的パーティショニングや自動スケーリング機能により、大規模データセットで真価を発揮します。
DPU(Data Processing Unit)は、AWS Glueジョブの計算リソース単位です。1 DPUは4 vCPUと16GBのメモリを提供し、ジョブの実行時間とコストを決定する重要な要素です。Python Shellジョブは最小0.0625 DPU(1 vCPU、1GBメモリ)から実行可能で小規模データ処理に最適化されており、PySparkジョブは最小2 DPU(8 vCPU、32GBメモリ)が必要で大規模な分散処理に適しています。
選択の基準はデータサイズと処理の複雑さによって決まります。100MB以下の小規模データならPython Shell、1GB以上の大規模データや複雑な結合処理ならPySparkが適切です。
実践問題で確認
ここまで学んだ核心パターンを、実践的な問題で確認しましょう。各問題は実際の企業シナリオに基づいており、適切なジョブタイプの選択能力を評価します。
AWS認定データエンジニア - アソシエイト
練習問題
AWS認定データエンジニア - アソシエイト
練習問題
AWS認定データエンジニア - アソシエイト
練習問題
まとめ
AWS GlueのPython ShellジョブとPySparkジョブは、データサイズと処理要件に応じた適切な選択により、コスト効率と処理性能を最適化できます。適切なジョブタイプの選択により、様々なETL要件に対応できます。
最小0.0625 DPUで
Apache Sparkに
これらの機能を適切に組み合わせることで、データサイズに応じたコスト効率とパフォーマンスを両立した包括的なETL戦略を実装できます。
理解度チェック
Python Shell(0.0625 DPU最小、小規模データ最適)とPySpark(2 DPU最小、分散処理)の決定的なコスト・処理違いを説明できるか?
100MB以下(Python Shell推奨)、1GB以上(PySpark必須)など、データサイズ別の適切なジョブタイプ選択を説明できるか?