tsumiki-media logo

tsumiki-media

Command Palette

Search for a command to run...

AWS設定比較
約12分
中級
6/10
2025年9月21日

AWS DEA-C01 対策 AWS Glue - Python Shell ジョブ vs PySparkジョブ

AWS GlueのPython ShellジョブとPySparkジョブの違いを理解し、資格取得に重要なデータサイズとコスト効率による適切な選択基準を把握する。実践的な問題を通じて使い分けのポイントを解説します。

この記事のポイント

  • 1
    AWS 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)

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 Shell1GB以上の大規模データ複雑な結合処理ならPySparkが適切です。

実践問題で確認

ここまで学んだ核心パターンを、実践的な問題で確認しましょう。各問題は実際の企業シナリオに基づいており、適切なジョブタイプの選択能力を評価します。

AWS認定データエンジニア - アソシエイト

練習問題

ある企業のデータエンジニアリングチームは、S3バケットに毎日アップロードされるデータの処理のためにETLジョブを実装する必要があります。アップロードされるデータは約100MB程度のCSVファイル形式です。データエンジニアリングチームはコスト効率の高いソリューションを求めています。 ETLジョブのための最もコスト効率の高いソリューションは何ですか?

AWS認定データエンジニア - アソシエイト

練習問題

あるeコマース企業は、AWS Glueを使用して製品カタログデータを処理しています。現在のETLジョブはPythonシェルスクリプトを使用しており、データ量の増加に伴い処理時間が長くなっています。データエンジニアはコードを最適化してランタイムを短縮したいと考えています。どのアプローチが最も効果的ですか?

AWS認定データエンジニア - アソシエイト

練習問題

金融サービス企業が、様々なデータソース(PostgreSQL、MySQL、Oracle、MongoDB、SAP HANA、Salesforce)から毎日約1.5TBのデータを抽出しています。これらのソースの一部では、データスキーマが定義されていなかったり、頻繁に変更されたりします。データエンジニアは、これらのデータソースのスキーマを自動的に検出し、データの抽出、変換、Amazon S3バケットへのロードを実行するソリューションを実装する必要があります。 運用オーバーヘッドを最小化しながらこれらのニーズを満たすソリューションはどれですか?

まとめ

AWS GlueのPython ShellジョブとPySparkジョブは、データサイズと処理要件に応じた適切な選択により、コスト効率と処理性能を最適化できます。適切なジョブタイプの選択により、様々なETL要件に対応できます。

最小0.0625 DPUで実行可能で、Pandasライブラリ事前ロード。100MB程度の小規模CSVファイル処理で最高のコスト効率を実現。シンプルなETL処理や日次バッチ処理に最適です。

Apache Sparkによる分散処理で複数ノード並列実行。動的パーティショニングと自動スケーリングにより、1GB以上の大規模データセットや複雑な結合処理で真価を発揮します。

これらの機能を適切に組み合わせることで、データサイズに応じたコスト効率とパフォーマンスを両立した包括的なETL戦略を実装できます。

理解度チェック

Python Shell(0.0625 DPU最小、小規模データ最適)とPySpark(2 DPU最小、分散処理)の決定的なコスト・処理違いを説明できるか?

100MB以下(Python Shell推奨)、1GB以上(PySpark必須)など、データサイズ別の適切なジョブタイプ選択を説明できるか?

他の問題も解いてみませんか?

tsumikiでは、AWS認定試験の合格に必要な知識を体系的に学習できます。実践的な問題を通じて、AWSスキルを身につけましょう。