

# Uso de Spark Connect con sesiones interactivas de AWS Glue
<a name="interactive-sessions-spark-connect"></a>

 [Apache Spark Connect](https://spark.apache.org/spark-connect/) incorpora una arquitectura cliente-servidor desacoplada que separa la aplicación del proceso del controlador de Spark. Con Spark Connect, las sesiones interactivas de AWS Glue se benefician de un cliente ligero que se inicia más rápido, utiliza menos recursos locales y proporciona compatibilidad nativa con las API de PySpark DataFrame y SQL. Puede utilizar las sesiones interactivas de AWS Glue desde el IDE o con las herramientas que prefiera para los cuadernos. 

 Spark Connect es compatible de forma nativa en la versión 5.1 de AWS Glue y versiones posteriores. Puede conectarse a una sesión interactiva de AWS Glue directamente desde un entorno compatible con la API `remote()` de PySpark. 

## Comparación de los tipos de sesiones: Livy y Spark Connect
<a name="is-spark-connect-comparison"></a>

 Las sesiones interactivas de AWS Glue son compatibles con dos tipos de sesiones. En la siguiente tabla se comparan las sesiones basadas en Livy y las sesiones de Spark Connect. 


| Característica | Livy | Spark Connect | 
| --- | --- | --- | 
| Protocolo | REST | gRPC (para enviar planes de ejecución lógica) \+ Apache Arrow (para transmitir los resultados) | 
| Método de conexión | API de instrucciones (`RunStatement`, `CancelStatement`, `GetStatement`, `ListStatements`) | Conexión directa a través de la URL del punto de conexión mediante la API `remote()` de PySpark | 
| Requisitos del cliente | Paquete `aws-glue-sessions` para kernels o AWS SDK | Compatibilidad de PySpark con Spark Connect | 
| Compatibilidad con IDE | A través de Jupyter con el kernel de SparkMagic | Cuadernos en el Estudio unificado de SageMaker o IDE con intérpretes de Python como VS Code, PyCharm y otros | 

## Cuándo usar Spark Connect
<a name="is-spark-connect-use-cases"></a>

 Utilice las sesiones de Spark Connect cuando necesite acceso directo y programático a una sesión interactiva de AWS Glue desde su entorno de desarrollo. A continuación se indican algunos casos de uso comunes: 
+ **Cuadernos en el Estudio unificado de SageMaker**: conéctese a las sesiones interactivas de AWS Glue directamente desde su entorno de cuadernos para una exploración interactiva de datos.
+ **IDE como VS Code o PyCharm**: utilice PySpark desde su IDE preferido para desarrollar y probar aplicaciones de Spark en un clúster remoto de AWS Glue.
+ **Aplicaciones y scripts de Python**: acceda a las sesiones interactivas de AWS Glue mediante programación desde una aplicación de Python que utilice la API `remote()` de PySpark.

## Disponibilidad por región
<a name="is-spark-connect-regions"></a>

Las sesiones interactivas de AWS Glue con Spark Connect están disponibles en las siguientes regiones de AWS:
+ Asia-Pacífico (Mumbai)
+ Asia-Pacífico (Seúl)
+ Asia-Pacífico (Singapur)
+ Asia-Pacífico (Sídney)
+ Asia-Pacífico (Tokio)
+ Canadá (centro)
+ Europa (Fráncfort)
+ Europa (Irlanda)
+ Europa (Londres)
+ Europa (París)
+ Europa (Estocolmo)
+ América del Sur (São Paulo)
+ Este de EE. UU. (Ohio)
+ Este de EE. UU. (Norte de Virginia)
+ Oeste de EE. UU. (Oregón)

## Consideraciones y limitaciones
<a name="is-spark-connect-limitations"></a>

 Tenga presente lo siguiente al utilizar Spark Connect con las sesiones interactivas de AWS Glue: 
+ Spark Connect está disponible para las sesiones interactivas de AWS Glue que ejecuten la versión 5.1 de AWS Glue y versiones posteriores.
+ Las API de instrucciones (`RunStatement`, `CancelStatement`, `GetStatement` y `ListStatements`) no son compatibles con las sesiones de Spark Connect. Usted interactúa directamente con la sesión a través del cliente PySpark.
+ No puede cambiar el tipo de sesión después de crear la sesión. Para cambiar entre Livy y Spark Connect, debe crear una sesión nueva.
+ Spark Connect no es compatible con AWS Glue Studio. Para el desarrollo interactivo con AWS Glue, puede utilizar los cuadernos del Estudio unificado de Sagemaker o sus IDE preferidos con intérpretes de Python.
+ No se admite un control de acceso detallado mediante Lake Formation en las sesiones de Spark Connect.