

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# EMR Studio에서 Spark 작업 최적화
<a name="emr-studio-spark-optimization"></a>

EMR Studio를 사용하여 Spark 작업을 실행할 때 Amazon EMR 클러스터 리소스를 최적화하는 데 도움이 되는 몇 가지 단계가 있습니다.

## Livy 세션 연장
<a name="optimize-spark-livy-timeout"></a>

Amazon EMR 클러스터에서 Spark와 함께 Apache Livy를 사용하는 경우 다음 중 하나를 수행하여 Livy 세션 제한 시간을 늘리는 것이 좋습니다.
+ Amazon EMR 클러스터를 생성할 때 **구성 입력** 필드에서 이 구성 분류를 설정합니다.

  ```
  [
      {
          "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를 클러스터 모드로 실행
<a name="optimize-spark-cluster-mode"></a>

클러스터 모드에서는 Spark 드라이버는 프라이머리 노드가 아닌 코어 노드에서 실행되므로 프라이머리 노드의 리소스 사용률이 향상됩니다.

기본 클라이언트 모드 대신 클러스터 모드에서 Spark 애플리케이션을 실행하려면 새 Amazon EMR 클러스터에서 Spark 단계를 구성하는 동안 **배포 모드**를 설정할 때 **클러스터** 모드를 선택합니다. 자세한 내용은 Apache Spark 설명서의 [Cluster mode overview](https://spark.apache.org/docs/latest/cluster-overview.html)를 참조하세요.

## Spark 드라이버 메모리 증가
<a name="optimize-spark-memory"></a>

Spark 드라이버 메모리를 늘리려면 다음 예제와 같이 EMR 노트북에서 `%%configure` 매직 명령을 사용하여 Spark 세션을 구성합니다.

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