EMR Studio での Spark ジョブの最適化 - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EMR Studio での Spark ジョブの最適化

EMR Studio を使用して Spark ジョブを実行する場合、Amazon EMRクラスターリソースを最適化するために実行できるいくつかのステップがあります。

Livy セッションを延長する

Amazon EMRクラスターで Apache Livy と Spark を使用する場合は、次のいずれかを実行して Livy セッションのタイムアウトを増やすことをお勧めします。

  • Amazon EMRクラスターを作成するときは、設定の入力フィールドでこの設定分類を設定します。

    [ { "Classification": "livy-conf", "Properties": { "livy.server.session.timeout": "8h" } } ]
  • 既に実行されているEMRクラスターの場合は、 を使用してクラスターに接続sshし、 でlivy-conf設定分類を設定します/etc/livy/conf/livy.conf

    [ { "Classification": "livy-conf", "Properties": { "livy.server.session.timeout": "8h" } } ]

    設定を変更した後、Livy を再起動する必要がある場合があります。

  • Livy セッションが一切タイムアウトしないようにする場合は、/etc/livy/conf/livy.conf で プロパティ livy.server.session.timeout-checkfalse に設定します。

Spark をクラスターモードで実行する

クラスターモードでは、Spark ドライバーはプライマリノードではなくコアノードで実行され、プライマリノードのリソース使用率が向上します。

デフォルトのクライアントモードではなくクラスターモードで Spark アプリケーションを実行するには、新しい Amazon クラスターで Spark ステップを設定するときにデプロイモードを設定するときにEMRクラスターモードを選択します。詳細については、Apache Spark ドキュメントで「クラスターモードの概要」を参照してください。

Spark ドライバーのメモリを増やす

Spark ドライバーのメモリを増やすには、次の例のように、EMRノートブックの%%configureマジックコマンドを使用して Spark セッションを設定します。

%%configure -f {"driverMemory": "6000M"}