

# Uso do Spark Connect com sessões interativas do AWS Glue
<a name="interactive-sessions-spark-connect"></a>

 O [Apache Spark Connect](https://spark.apache.org/spark-connect/) introduz uma arquitetura cliente-servidor desacoplada que separa sua aplicação do processo de driver do Spark. Com o Spark Connect, as sessões interativas do AWS Glue se beneficiam de um cliente leve que inicia mais rápido, usa menos recursos locais e fornece compatibilidade nativa com o PySpark DataFrame e as APIs do SQL. Você pode usar as sessões interativas do AWS Glue a partir de suas ferramentas de notebook ou IDE preferidas. 

 O Spark Connect é compatível nativamente a partir da versão 5.1 do AWS Glue. É possível realizar a conexão com uma sessão interativa do AWS Glue diretamente de um ambiente compatível com a API `remote()` do PySpark. 

## Comparação dos tipos de sessão: Livy e Spark Connect
<a name="is-spark-connect-comparison"></a>

 As sessões interativas do AWS Glue oferecem suporte a dois tipos de sessão. A tabela a seguir compara as sessões baseadas em Livy e as sessões do Spark Connect. 


| Recurso | Livy | Spark Connect | 
| --- | --- | --- | 
| Protocolo | REST | gRPC (para enviar planos de execução lógica) \+ Apache Arrow (para transmitir resultados) | 
| Método de conexão | APIs de declaração (`RunStatement`, `CancelStatement`, `GetStatement`, `ListStatements`) | Conexão direta por meio de URL de endpoint usando a API `remote()` do PySpark | 
| Requisito do cliente | Pacote de `aws-glue-sessions` para kernels ou AWS SDK | PySpark com suporte a Spark Connect | 
| Suporte a IDE | Por meio do Jupyter com o kernel SparkMagic | Notebooks no Estúdio Unificado SageMaker ou IDEs com interpretadores Python, como VS Code, PyCharm e outros | 

## Quando usar o Spark Connect
<a name="is-spark-connect-use-cases"></a>

 Use as sessões do Spark Connect quando precisar de acesso direto e programático a uma sessão interativa do AWS Glue a partir do seu ambiente de desenvolvimento. Veja a seguir alguns casos de uso comuns: 
+ **Notebooks no Estúdio Unificado SageMaker**: conecte-se às sessões interativas do AWS Glue diretamente do seu ambiente de notebook para exploração interativa de dados.
+ **IDEs como VS Code ou PyCharm**: use o PySpark do seu IDE preferido para desenvolver e testar aplicativos Spark em um cluster remoto do AWS Glue.
+ **Scripts e aplicações Python**: acesse as sessões interativas do AWS Glue de modo programático a partir de uma aplicação Python que usa a API `remote()` do PySpark.

## Disponibilidade de regiões
<a name="is-spark-connect-regions"></a>

As sessões interativas do AWS Glue com o Spark Connect estão disponíveis nas seguintes regiões da AWS:
+ Ásia-Pacífico (Mumbai)
+ Ásia-Pacífico (Seul)
+ Ásia-Pacífico (Singapura)
+ Ásia-Pacífico (Sydney)
+ Ásia-Pacífico (Tóquio)
+ Canadá (Central)
+ Europa (Frankfurt)
+ Europa (Irlanda)
+ Europa (Londres)
+ Europa (Paris)
+ Europa (Estocolmo)
+ América do Sul (São Paulo)
+ Leste dos EUA (Ohio)
+ Leste dos EUA (N. da Virgínia)
+ Oeste dos EUA (Oregon)

## Considerações e limitações
<a name="is-spark-connect-limitations"></a>

 Considere o seguinte ao usar o Spark Connect com as sessões interativas do AWS Glue: 
+ O Spark Connect está disponível para sessões interativas do AWS Glue que executam a versão 5.1 e posteriores do AWS Glue.
+ As APIs de declaração (`RunStatement`, `CancelStatement`, `GetStatement` e `ListStatements`) não são compatíveis com as sessões do Spark Connect. Você interage com a sessão diretamente por meio do cliente do PySpark.
+ Não é possível alterar o tipo da sessão depois de criá-la. Para alternar entre o Livy e o Spark Connect, crie uma nova sessão.
+ O Spark Connect não é compatível com AWS Glue Studio. Para o desenvolvimento interativo com o uso do AWS Glue, você pode usar Notebooks no Estúdio Unificado SageMaker ou seus IDEs preferidos com interpretadores Python.
+ O controle de acesso refinado por meio do Lake Formation não é compatível com as sessões do Spark Connect.