

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

# EMR Serverless에서 사용자 지정 이미지 사용
<a name="using-custom-images"></a>

**Topics**
+ [사용자 지정 Python 버전 사용](#image-python)
+ [사용자 지정 Java 버전 사용](#image-java)
+ [데이터 과학 이미지 빌드](#image-data-science)
+ [Apache Sedona를 사용한 지리 공간 데이터 처리](#image-sedona)
+ [사용자 지정 이미지 사용에 대한 라이선스 정보](concepts-licensing-images.md)

## 사용자 지정 Python 버전 사용
<a name="image-python"></a>

다른 버전의 Python을 사용하도록 사용자 지정 이미지를 빌드할 수 있습니다. 예를 들어, Spark 작업 대해 Python 버전 3.10을 사용하려면 다음 명령을 실행합니다.

```
FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest

USER root

# install python 3
RUN yum install -y gcc openssl-devel bzip2-devel libffi-devel tar gzip wget make
RUN wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz && \
tar xzf Python-3.10.0.tgz && cd Python-3.10.0 && \
./configure --enable-optimizations && \
make altinstall

# EMRS runs the image as hadoop
USER hadoop:hadoop
```

Spark 작업을 제출하기 전에 다음과 같이 Python 가상 환경을 사용하도록 속성을 설정합니다.

```
--conf spark.emr-serverless.driverEnv.PYSPARK_DRIVER_PYTHON=/usr/local/bin/python3.10
--conf spark.emr-serverless.driverEnv.PYSPARK_PYTHON=/usr/local/bin/python3.10
--conf spark.executorEnv.PYSPARK_PYTHON=/usr/local/bin/python3.10
```

## 사용자 지정 Java 버전 사용
<a name="image-java"></a>

다음 예제에서는 Spark 작업에 Java 11을 사용하도록 사용자 지정 이미지를 빌드하는 방법을 보여줍니다.

```
FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest

USER root

# install JDK 11
RUN amazon-linux-extras install java-openjdk11

# EMRS runs the image as hadoop
USER hadoop:hadoop
```

Spark 작업을 제출하기 전에 다음과 같이 Java 11을 사용하도록 Spark 속성을 설정합니다.

```
--conf spark.executorEnv.JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.amzn2.0.1.x86_64 
--conf spark.emr-serverless.driverEnv.JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-
```

## 데이터 과학 이미지 빌드
<a name="image-data-science"></a>

다음 예제에서는 Pandas 및 NumPy와 같은 일반적인 데이터 과학 Python 패키지를 포함하는 방법을 보여줍니다.

```
FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest

USER root

# python packages
RUN pip3 install boto3 pandas numpy
RUN pip3 install -U scikit-learn==0.23.2 scipy 
RUN pip3 install sk-dist
RUN pip3 install xgboost

# EMR Serverless runs the image as hadoop
USER hadoop:hadoop
```

## Apache Sedona를 사용한 지리 공간 데이터 처리
<a name="image-sedona"></a>

다음 예제에서는 지리 공간 처리를 위해 Apache Sedona를 포함하도록 이미지를 빌드하는 방법을 보여줍니다.

```
FROM public.ecr.aws/emr-serverless/spark/emr-6.9.0:latest

USER root

RUN yum install -y wget
RUN wget https://repo1.maven.org/maven2/org/apache/sedona/sedona-core-3.0_2.12/1.3.0-incubating/sedona-core-3.0_2.12-1.3.0-incubating.jar -P /usr/lib/spark/jars/
RUN pip3 install apache-sedona

# EMRS runs the image as hadoop
USER hadoop:hadoop
```