1.4標準
数GBのテキストを行単位で変換する。
全行をメモリへ読み込まず、一定メモリで処理を続ける。
最も適切な実装はどれか。
× 不正解
generatorやファイルイテレータで逐次処理すると、大きな入力でもメモリ使用量を抑えられる。
詳細解説
正しいファイルイテレータやgeneratorで1行ずつ処理する
入力全体をリスト化せず、逐次的に変換してメモリ使用量を抑えられる。
入力全体をリスト化せず、逐次的に変換してメモリ使用量を抑えられる。
誤りread()で全ファイルを文字列へ読み込む
ファイルサイズに比例してメモリを消費し、Lambdaやジョブの上限に達しやすい。
ファイルサイズに比例してメモリを消費し、Lambdaやジョブの上限に達しやすい。
誤りCloudWatch Logsへ全データを出力する
監視ログをデータストアとして使うと、コスト・検索・機密性の問題が生じる。
監視ログをデータストアとして使うと、コスト・検索・機密性の問題が生じる。
誤りS3 Object Lockでメモリを節約する
オブジェクト保護はPythonの入力読み込み方式を変えない。
オブジェクト保護はPythonの入力読み込み方式を変えない。
実際に確かめる
一時的な検証環境で実行できる例です。
Python generator、iterator、yield、AWS Lambda・Glueのメモリ制約を確認する。期待される結果
遅延評価と全量読み込みのメモリ特性を説明できる。理解のポイント
- Python generator
- iterator
- yield
- メモリ効率
確認時の注意
- 確認環境: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- AWS公式DEA-C01 Domain 1と各サービスの公式ドキュメントを確認する。
基礎のおさらい
遅延評価
必要な時点で次の値を生成し、入力全体をメモリへ保持しない。
エラー境界
1行の失敗を隔離するかジョブ全体を止めるか、再処理方式を決める。
問題IDAWS-DEA-086
確認環境AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
最終技術確認2026-08-20
誤り・権利侵害を報告