

# AWS Glue 대화형 세션과 함께 Spark Connect 사용
<a name="interactive-sessions-spark-connect"></a>

 [Apache Spark Connect](https://spark.apache.org/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
<a name="is-spark-connect-comparison"></a>

 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를 사용해야 하는 경우
<a name="is-spark-connect-use-cases"></a>

 개발 환경에서 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 대화형 세션에 액세스합니다.

## 리전 가용성
<a name="is-spark-connect-regions"></a>

Spark Connect 지원 기능이 추가된 AWS Glue 대화형 세션은 다음 AWS 리전에서 사용할 수 있습니다.
+ 아시아 태평양(뭄바이)
+ 아시아 태평양(서울)
+ 아시아 태평양(싱가포르)
+ 아시아 태평양(시드니)
+ 아시아 태평양(도쿄)
+ 캐나다(중부)
+ 유럽(프랑크푸르트)
+ 유럽(아일랜드)
+ 유럽(런던)
+ 유럽(파리)
+ 유럽(스톡홀름)
+ 남아메리카(상파울루)
+ 미국 동부(오하이오)
+ 미국 동부(버지니아 북부)
+ 미국 서부(오레곤)

## 고려 사항 및 제한 사항
<a name="is-spark-connect-limitations"></a>

 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을 통한 세분화된 액세스 제어가 지원되지 않습니다.