DEAデータオペレーションとサポート
データエンジニアがAWS Glue向けのPySparkベースのETLスクリプトをローカル環境のJupyter Notebookで開発しています。スクリプトの開発中、エンジニアは実際のAWSリソース(S3やGlueデータカタログ)にアクセスしながら、数秒以内にコードを実行して結果を検証するという、高速な反復テスト環境を必要としています。この要件を満たすための最適なアプローチはどれですか。
A開発エンドポイントをプロビジョニングし、オンデマンドのEC2インスタンス上でスクリプトを一括実行してデバッグする
開発エンドポイントは古いアプローチであり、環境のプロビジョニングに時間がかかる(数分〜数十分)だけでなく、使用していないアイドル時間中もEC2リソースのコストが発生するため、高速な反復テスト環境としては非効率です。
BAWS Glue Studioのジョブプレビュー機能を使用して、サンプルデータに対する変換結果をGUI上で静的に確認する
AWS Glue Studioのジョブプレビュー機能は、ビジュアルエディタ上で変換ノードごとのデータの変化を確認するのには便利ですが、ローカルのJupyter Notebookでコードを記述・実行しながら反復テストを行う要件には適していません。
CAWS Step Functions Localを利用してETLワークフロー全体をローカルのコンテナ上でモックとして実行し検証する
AWS Step Functions Localは状態遷移やワークフローのモックテストには有用ですが、PySparkスクリプトによる実際のデータ変換処理やS3・データカタログとの実環境連携テストを担うSparkエンジンの代わりにはなりません。
DAWS Glueインタラクティブセッションを使用して、ノートブックから直接サーバーレスなSpark環境でコードを実行・テストする
✓ 正解
AWS Glueインタラクティブセッションを使用すると、プロビジョニングが数秒で完了するサーバーレスなSpark環境とノートブックが直接連携し、実際のAWSリソースに対するコードの即時実行と高速なデバッグが可能になります。
解説
AWS Glueインタラクティブセッションは、データエンジニアがローカルのJupyter Notebook(またはAWSマネジメントコンソール)から直接、サーバーレスなGlue Sparkバックエンドでコードをインタラクティブに実行およびテストできる機能です。プロビジョニングが数秒で完了し、実際のAWSリソースに対して行単位でのコード実行と高速な反復検証が可能なため、ETLスクリプトの開発サイクルを大幅に短縮できます。旧来の「開発エンドポイント」はプロビジョニングに時間がかかり、固定コストも発生するため、インタラクティブセッションに置き換えられつつあります。Glue Studioのプレビューはコードのインタラクティブな開発環境ではなく、Step Functions Localはオーケストレーションのモックテスト用でありSparkコードの直接デバッグには向きません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →