View a markdown version of this page

Uso do Spark Connect com sessões interativas do AWS Glue - AWS Glue

Uso do Spark Connect com sessões interativas do AWS Glue

O Apache 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

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

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

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

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.