기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Apache Livy로 Spark 애플리케이션을 실행하기 전에 Amazon EMR on EKS에 대한 Apache Livy 설정 및 Amazon EMR on EKS에 대한 Apache Livy 시작하기의 단계를 완료했는지 확인합니다.
Apache Livy를 사용하여 두 가지 유형의 애플리케이션을 실행할 수 있습니다.
-
배치 세션 - Spark 배치 작업을 제출하는 Livy 워크로드의 한 유형.
-
대화형 세션 - Spark 쿼리를 실행할 수 있는 프로그래밍 방식 및 시각적 인터페이스를 제공하는 Livy 워크로드의 한 유형.
참고
서로 다른 세션의 드라이버 및 실행기 포드는 서로 통신할 수 있습니다. 네임스페이스는 포드 간 보안을 보장하지 않습니다. Kubernetes는 지정된 네임스페이스 내 포드 하위 세트에 대한 선택적 권한을 허용하지 않습니다.
배치 세션 실행
배치 작업을 제출하려면 다음 명령을 사용합니다.
curl -s -k -H 'Content-Type: application/json' -X POST \
-d '{
"name": "my-session",
"file": "entryPoint_location (S3 or local)",
"args": ["argument1", "argument2", ...],
"conf": {
"spark.kubernetes.namespace": "<spark-namespace>
",
"spark.kubernetes.container.image": "public.ecr.aws/emr-on-eks/spark/emr-7.7.0:latest",
"spark.kubernetes.authenticate.driver.serviceAccountName": "<spark-service-account>
"
}
}' <livy-endpoint>
/batches
배치 작업을 모니터링하려면 다음 명령을 사용합니다.
curl -s -k -H 'Content-Type: application/json' -X GET <livy-endpoint>
/batches/my-session
대화형 세션 구성
Apache Livy를 사용하여 대화형 세션을 실행하려면 다음 단계를 참조하세요.
-
자체 호스팅 또는 SageMaker AI Jupyter 노트북과 같은 관리형 Jupyter 노트북에 액세스할 수 있는지 확인합니다. Jupyter Notebook에 sparkmagic
이 설치되어 있어야 합니다. -
Spark 구성
spark.kubernetes.file.upload.path
에 대한 버킷을 생성합니다. Spark 서비스 계정이 버킷에 대한 읽기 및 쓰기 액세스 권한을 보유하는지 확인합니다. Spark 서비스 계정을 구성하는 방법에 대한 자세한 내용은 서비스 계정에 대한 IAM 역할(IRSA)을 사용하여 액세스 권한 설정을 참조하세요. -
%load_ext sparkmagic.magics
명령을 사용하여 Jupyter Notebook에 sparkmagic을 로드합니다. -
%manage_spark
명령을 실행하여 Jupyter Notebook으로 Livy 엔드포인트를 설정합니다. 엔드포인트 추가 탭을 선택하고 구성된 인증 유형을 선택하며 노트북에 Livy 엔드포인트를 추가한 다음, 엔드포인트 추가를 선택합니다. -
다시
%manage_spark
를 실행하여 Spark 컨텍스트를 생성한 다음, 세션 생성 으로 이동합니다. Livy 엔드포인트를 선택하고 고유한 세션 이름을 지정하며 언어를 선택한 후 다음 속성을 추가합니다.{ "conf": { "spark.kubernetes.namespace": "
livy-namespace
", "spark.kubernetes.container.image": "public.ecr.aws/emr-on-eks/spark/emr-7.7.0:latest", "spark.kubernetes.authenticate.driver.serviceAccountName": "<spark-service-account>
", "spark.kubernetes.file.upload.path": "<URI_TO_S3_LOCATION_>
" } } -
애플리케이션을 제출하고 Spark 컨텍스트가 생성될 때까지 기다립니다.
-
대화형 세션의 상태를 모니터링하려면 다음 명령을 실행합니다.
curl -s -k -H 'Content-Type: application/json' -X GET
livy-endpoint
/sessions/my-interactive-session
Spark 애플리케이션 모니터링
Livy UI를 사용하여 Spark 애플리케이션의 진행 상황을 모니터링하려면 http://<livy-endpoint>/ui
링크를 사용합니다.