DEAデータの取り込みと変換
データエンジニアリングチームは、Amazon S3バケットに継続的にアップロードされる未加工データファイルを処理するAWS Glue ETLジョブを日次で実行しています。ジョブが実行されるたびに、新しく追加されたファイルのみを処理し、過去に処理済みのファイルを再処理しないようにする必要があります。スクリプトの変更やインフラストラクチャの追加を最小限に抑えて、この増分データ処理を実現する機能はどれですか。
Aジョブのスクリプト内でS3のLastModifiedタイムスタンプを評価し、前回実行時以降のファイルのみをフィルタリングする
PySparkスクリプト内でS3のLastModifiedタイムスタンプを手動で評価してフィルタリングするロジックを実装することは可能ですが、スクリプトの複雑化を招き、変更を最小限に抑えるという要件から外れてしまいます。
BS3インベントリレポートを毎日生成し、Glueジョブ内で前日のレポートと突き合わせて新規ファイルを特定する
S3インベントリレポートは日次または週次で生成されるため、リアルタイム性や増分処理の判定にタイムラグが生じます。また、レポートの突き合わせロジックを独自に実装する必要があり、運用オーバーヘッドが増加します。
CAWS Glueジョブのジョブブックマーク機能を有効にして、処理済みのファイルのメタデータを追跡させる
✓ 正解
AWS Glueジョブのジョブブックマーク機能を有効にすることで、AWS Glueが処理済みファイルのメタデータを自動的に追跡し、次回の実行時には新規に追加されたファイルのみを処理するため、最小限の労力で要件を満たせます。
D処理が完了したS3オブジェクトを別のバケットまたはアーカイブプレフィックスに移動するLambda関数を作成する
処理が完了したS3オブジェクトをLambda関数で別のバケットやプレフィックスに移動する運用は、データパイプラインのアーキテクチャを複雑にし、追加のインフラ管理とコストが発生するため最適な解決策とは言えません。
解説
AWS Glueのジョブブックマーク(Job Bookmark)機能は、前回のETLジョブの実行状態を自動的に追跡し保持する機能です。この機能を有効にするだけで、ジョブは前回正常に処理されたデータを記憶し、次回の実行時にはAmazon S3から新しく追加されたファイル(増分データ)のみを読み込んで処理します。これにより、開発者はファイルのタイムスタンプを手動で比較したり、処理済みファイルを別の場所に移動するような複雑なカスタムロジックや追加のインフラストラクチャを構築する必要がなくなります。LastModifiedに基づく手動フィルタリングやLambdaによる移動は開発と保守のオーバーヘッドを増加させ、S3インベントリの活用は処理のレイテンシと複雑性を高めるため最適ではありません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →