最佳化 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-check 設定為 false

在叢集模式下執行 Spark

在叢集模式中,Spark 驅動程式會在核心節點而非主節點上執行,從而改善主節點的資源使用率。

若要在叢集模式下執行 Spark 應用程式,而不是預設用戶端模式,請在設定部署模式時選擇叢集模式,同時在新的 Amazon EMR叢集中設定 Spark 步驟。 如需詳細資訊,請參閱 Apache Spark 文件中的叢集模式概觀

增加 Spark 驅動程式記憶體

若要增加 Spark 驅動程式記憶體,請使用EMR筆記本中的%%configure魔術命令來設定 Spark 工作階段,如下列範例所示。

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