기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
EMR서버리스에서 Python 라이브러리 사용하기
Amazon EMR Serverless 애플리케이션에서 PySpark 작업을 실행할 때 다양한 Python 라이브러리를 종속 항목으로 패키징할 수 있습니다. 이를 위해 기본 Python 기능을 사용하거나, 가상 환경을 구축하거나, Python 라이브러리를 사용하도록 PySpark 작업을 직접 구성할 수 있습니다. 이 페이지에서는 각 접근 방식을 다룹니다.
네이티브 Python 기능 사용
다음 구성을 설정하면 Python 파일 (.py
), 압축된 Python 패키지 () 및 Egg 파일 (.zip
) 을 Spark 실행기에 업로드하는 데 사용할 PySpark 수 있습니다. .egg
--conf spark.submit.pyFiles=s3://
DOC-EXAMPLE-BUCKET
/EXAMPLE-PREFIX
/<.py|.egg|.zip file>
Python 가상 환경을 PySpark 작업에 사용하는 방법에 대한 자세한 내용은 PySpark 네이티브 기능 사용을
Python 가상 환경 구축하기
PySpark 작업에 사용할 여러 Python 라이브러리를 패키징하려면 격리된 Python 가상 환경을 만들 수 있습니다.
-
Python 가상 환경을 구축하려면 다음 명령을 사용합니다. 표시된 예제는 패키지를
scipy
가상 환경 패키지에 설치하고 아카이브를 Amazon S3 위치에 복사합니다.matplotlib
중요
EMR서버리스에서 사용하는 것과 동일한 버전의 Python을 사용하는 유사한 Amazon Linux 2 환경, 즉 Amazon 릴리스 6.6.0용 Python 3.7.10에서 다음 명령을 실행해야 합니다. EMR 서버리스 샘플 리포지토리에서 예제 Dockerfile을 찾을 수 있습니다. EMR
GitHub # initialize a python virtual environment python3 -m venv pyspark_venvsource source pyspark_venvsource/bin/activate # optionally, ensure pip is up-to-date pip3 install --upgrade pip # install the python packages pip3 install scipy pip3 install matplotlib # package the virtual environment into an archive pip3 install venv-pack venv-pack -f -o pyspark_venv.tar.gz # copy the archive to an S3 location aws s3 cp pyspark_venv.tar.gz s3://
DOC-EXAMPLE-BUCKET
/EXAMPLE-PREFIX
/ # optionally, remove the virtual environment directory rm -fr pyspark_venvsource -
Python 가상 환경을 사용하려면 속성을 설정한 상태로 Spark 작업을 제출하세요.
--conf spark.archives=s3://
DOC-EXAMPLE-BUCKET
/EXAMPLE-PREFIX
/pyspark_venv.tar.gz#environment --conf spark.emr-serverless.driverEnv.PYSPARK_DRIVER_PYTHON=./environment/bin/python --conf spark.emr-serverless.driverEnv.PYSPARK_PYTHON=./environment/bin/python --conf spark.executorEnv.PYSPARK_PYTHON=./environment/bin/python원본 Python 바이너리를 재정의하지 않으면 이전 설정 순서의 두 번째 구성이 다음과 같다는 점에 유의하십시오.
--conf spark.executorEnv.PYSPARK_PYTHON=python
Python 가상 환경을 PySpark 작업에 사용하는 방법에 대한 자세한 내용은 Virtualenv 사용을
참조하십시오. Spark 작업을 제출하는 방법에 대한 추가 예제는 을 참조하십시오. 스파크 잡스
Python 라이브러리를 사용하도록 PySpark 작업 구성
Amazon EMR 릴리스 6.12.0 이상에서는 추가 설정 없이 Pandas와 같은 인기 있는 데이터 과학 Python
다음 예제는 PySpark 작업을 위해 각 Python 라이브러리를 패키징하는 방법을 보여줍니다.