View a markdown version of this page

AWS Glue 대화형 세션과 함께 Spark Connect 사용 - AWS Glue

AWS Glue 대화형 세션과 함께 Spark Connect 사용

Apache Spark Connect는 애플리케이션을 Spark 드라이버 프로세스와 분리하는 분리형 클라이언트-서버 아키텍처를 도입합니다. Spark Connect를 사용하면 AWS Glue 대화형 세션에서 더 빠르게 시작하고, 더 적은 로컬 리소스를 사용하고, PySpark DataFrame 및 SQL API와의 네이티브 호환성을 제공하는 경량 클라이언트의 이점을 누릴 수 있습니다. 선호하는 노트북 도구 또는 IDE에서 AWS Glue 대화형 세션을 사용할 수 있습니다.

Spark Connect는 AWS Glue 버전 5.1 이상에서 기본적으로 지원됩니다. PySpark remote() API를 지원하는 환경에서 직접 AWS Glue 대화형 세션에 연결할 수 있습니다.

세션 유형 비교: Livy 및 Spark Connect

AWS Glue 대화형 세션은 두 가지 세션 유형을 지원합니다. 다음 표에서는 Livy 기반 세션과 Spark Connect 세션을 비교합니다.

기능 Livy Spark Connect

프로토콜

REST

gRPC(논리적 실행 계획 전송용) + Apache Arrow(결과 스트리밍용)

연결 방법

Statement API(RunStatement, CancelStatement, GetStatement, ListStatements)

PySpark remote() API를 사용하여 엔드포인트 URL을 통해 직접 연결

클라이언트 요구 사항

커널용 aws-glue-sessions 패키지 또는 AWS SDK

Spark Connect를 지원하는 PySpark

IDE 지원

SparkMagic 커널을 사용하는 Jupyter를 통해

SageMaker Unified Studio의 노트북 또는 VS Code, PyCharm 등의 Python 인터프리터가 있는 IDE

Spark Connect를 사용해야 하는 경우

개발 환경에서 AWS Glue 대화형 세션에 프로그래밍 방식으로 직접 액세스해야 하는 경우 Spark Connect 세션을 사용합니다. 일반적인 사용 사례는 다음과 같습니다.

  • SageMaker Unified Studio의 노트북 - 대화형 데이터 탐색을 위해 노트북 환경에서 직접 AWS Glue 대화형 세션에 연결합니다.

  • VS Code, PyCharm 등의 IDE - 선호하는 IDE에서 PySpark를 사용하여 원격 AWS Glue 클러스터를 대상으로 Spark 애플리케이션을 개발하고 테스트합니다.

  • Python 스크립트 및 애플리케이션 - PySpark remote() API를 사용하는 Python 애플리케이션에서 프로그래밍 방식으로 AWS Glue 대화형 세션에 액세스합니다.

리전 가용성

Spark Connect 지원 기능이 추가된 AWS Glue 대화형 세션은 다음 AWS 리전에서 사용할 수 있습니다.

  • 아시아 태평양(뭄바이)

  • 아시아 태평양(서울)

  • 아시아 태평양(싱가포르)

  • 아시아 태평양(시드니)

  • 아시아 태평양(도쿄)

  • 캐나다(중부)

  • 유럽(프랑크푸르트)

  • 유럽(아일랜드)

  • 유럽(런던)

  • 유럽(파리)

  • 유럽(스톡홀름)

  • 남아메리카(상파울루)

  • 미국 동부(오하이오)

  • 미국 동부(버지니아 북부)

  • 미국 서부(오레곤)

고려 사항 및 제한 사항

AWS Glue 대화형 세션과 함께 Spark Connect를 사용할 때는 다음 사항을 고려하세요.

  • Spark Connect는 AWS Glue 버전 5.1 이상을 실행하는 AWS Glue 대화형 세션에 사용할 수 있습니다.

  • Spark Connect 세션에서는 Statement API(RunStatement, CancelStatement, GetStatement, ListStatements)가 지원되지 않습니다. PySpark 클라이언트를 통해 세션과 직접 상호 작용합니다.

  • 세션을 생성한 후에는 세션 유형을 변경할 수 없습니다. Livy와 Spark Connect 간에 전환하려면 새 세션을 생성해야 합니다.

  • AWS Glue Studio에서는 Spark Connect가 지원되지 않습니다. AWS Glue를 사용한 대화형 개발의 경우 SageMaker Unified Studio의 노트북 또는 Python 인터프리터가 있는 선호하는 IDE를 사용할 수 있습니다.

  • Spark Connect 세션에서는 Lake Formation을 통한 세분화된 액세스 제어가 지원되지 않습니다.