150

"Gerenciamento de Sessões Spark"

Apache Livy é uma plataforma de serviço de código aberto que fornece uma maneira fácil de interagir com um cluster Apache Spark por meio de uma API REST. É essencialmente uma ponte entre aplicações e o Apache Spark, permitindo que usuários e aplicativos submetam e gerenciem trabalhos Spark de forma remota e interativa. Livy foi projetado para simplificar o processo de envio de trabalhos Spark, gerenciando a complexidade e os detalhes de comunicação com o cluster Spark.

Livy é ideal para cenários que exigem submissão programática de trabalhos Spark, como em sistemas de processamento de dados em lote, análise de dados em grande escala e integrações em ambientes de ciência de dados.

O Apache Livy foi inicialmente desenvolvido pela Cloudera como uma solução para simplificar a interação com clusters Spark. Desde o início, o foco do Livy tem sido oferecer uma interface RESTful para facilitar a submissão e o gerenciamento de trabalhos Spark em clusters de dados, especialmente em ambientes em que a interação direta com o Spark é complexa.

A evolução do Livy está alinhada com o desenvolvimento do Apache Spark, refletindo a necessidade crescente de ferramentas que facilitam o acesso a poderosos recursos de processamento de dados.

Características do Apache Livy

  • Submissão de Trabalhos Spark: Permite a submissão e o gerenciamento de trabalhos Spark por meio de uma API REST;

  • Suporte a Múltiplas Linguagens: Oferece suporte para trabalhos escritos em Scala, Python e R;

  • Gestão de Sessões: Gerencia sessões Spark, facilitando a reutilização e otimizando o uso de recursos;

  • Segurança e Controle de Acesso: Inclui recursos para garantir a segurança dos dados e do acesso ao cluster;

  • Integração com Hadoop YARN: Facilita a gestão de recursos em clusters por meio da integração com YARN;

Fluxo Básico Apache Livy - submissão de _jobs_ por meio do Livy

Arquitetura do Apache Livy

Os principais componentes do Apache Livy são:

  1. Servidor REST: Fornece uma interface REST para a submissão e o gerenciamento de trabalhos Spark.

  2. Gerenciador de Sessões: Responsável por iniciar, manter e finalizar sessões Spark.

  3. Integração com YARN: Gerencia os recursos do cluster de forma eficiente.

  4. Interface de Programação: Fornece APIs para facilitar a submissão e o controle de trabalhos Spark.

Arquitetura Apache Livy

Boas Práticas no Uso do Apache Livy

  • Gestão Eficiente de Sessões: Administre as sessões Spark para otimizar o uso de recursos;

  • Segurança: Implemente controles de segurança robustos;

  • Monitoramento: Monitore o desempenho das sessões e do cluster;

  • Documentação e Integração: Mantenha a documentação atualizada sobre a integração do Livy com outros sistemas;

  • Atualizações e Compatibilidade: Mantenha-se informado sobre as novas versões do Livy e do Spark.;

Quando Não Usar o Apache Livy

  • Ambientes de Baixa Latência: O Livy pode não ser ideal para cenários que exigem baixíssima latência;

  • Trabalhos Simples e Isolados: Para trabalhos Spark que não necessitam de integração complexa, o uso do Livy pode ser um exagero.

Linguagem de Desenvolvimento

O Apache Livy é desenvolvido principalmente em Java. Isso significa que uma compreensão de Java é benéfica para contribuir para o projeto ou integrá-lo de forma mais eficaz em sistemas existentes. Além disso, compreender os paradigmas de programação Java pode ajudar a otimizar a interação com o Livy e a implementar personalizações específicas conforme necessário.

Fonte(s):