ジョブの調整に関する考慮事項 - Amazon EMR

ジョブの調整に関する考慮事項

Spark エグゼキュターで、EMRFS S3 向けに最適化されたコミットプロトコルは、タスクがコミットされるか中止されるまで、タスクの試行によって書き込まれた各ファイルのために少量のメモリを消費します。ほとんどのジョブで消費されるメモリの量は無視できる程度です。

Spark ドライバーで、EMRFS S3 向けに最適化されたコミットプロトコルには、ジョブがコミットまたは中止されるまで、コミットされた各ファイルのメタデータ情報を保存するためのメモリが必要です。ほとんどのジョブでは、Spark ドライバーのデフォルトのメモリ設定はごくわずかです。

多数のファイルを書き込む長時間のタスクを含むジョブの場合、コミットプロトコルが消費するメモリが多くなり、Spark、特に Spark エグゼキュターに割り当てられたメモリの調整が必要になることがあります。Spark ドライバーの spark.driver.memory プロパティと Spark エグゼキュターの spark.executor.memory プロパティを使用してメモリを調整できます。ガイドラインとして、100,000 個のファイルを書き込む 1 つのタスクでは、一般的に 100 MB のメモリを追加する必要があります。詳細については、Apache Spark Configuration ドキュメントの「Application Properties」を参照してください。