在 EMR Studio 优化 Spark 任务 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 EMR Studio 优化 Spark 任务

使用 EMR Studio 运行 Spark 任务时,您可以采取几个步骤以确保优化 Amazon EMR 集群资源。

延长您的 Livy 会话

如果您在 Amazon EMR 集群将 Apache Livy 和 Spark 一起使用,我们建议您选择以下一种操作来延长 Livy 会话时间:

  • 当您创建 Amazon EMR 集群时,请在 Enter Configuration (输入配置) 字段设置配置类型。

    [ { "Classification": "livy-conf", "Properties": { "livy.server.session.timeout": "8h" } } ]
  • 针对已经运行的 EMR 集群,请使用 ssh 连接集群,然后在 /etc/livy/conf/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 驱动程序在核心节点上运行,而不是在主节点 (master node) 上运行,从而提高了主节点上的资源利用率。

要以集群模式而不是默认客户端模式运行 Spark 应用程序,在设置部署模式时请选择 Cluster (集群) 模式,同时在新的 Amazon EMR 集群中配置 Spark 步骤。有关更多信息,请参阅 Apache Spark 文档中的集群模式概览

增加 Spark 驱动程序内存

要增加 Spark 驱动程序内存,请使用 EMR Notebooks 的 %%configure 魔术命令配置 Spark 会话,如以下示例所示。

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