O Amazon EMR é o melhor local para executar o Apache Spark. É possível criar clusters gerenciados do Spark com rapidez e facilidade no Console de gerenciamento da AWS, na AWS CLI ou com a API do Amazon EMR. Além disso, você pode utilizar recursos adicionais do Amazon EMR, incluindo a conectividade rápida do Amazon S3 usando o Amazon EMR File System (EMRFS), a integração com o mercado spot do Amazon EC2, o catálogo de dados do AWS Glue e o EMR Managed Scaling para adicionar ou remover instâncias de um cluster. O AWS Lake Formation oferece controle de acesso detalhado e a integração com o AWS Step Functions ajuda a orquestrar pipelines de dados. O EMR Studio (prévia) fornece um ambiente de desenvolvimento integrado (IDE) que torna fácil para os cientistas e engenheiros de dados desenvolverem, visualizarem e depurarem aplicações de engenharia de dados e ciência de dados escritas em R, Python, Scala e PySpark. O EMR Studio oferece Notebooks Jupyter totalmente gerenciados e ferramentas como Spark UI e YARN Timeline Service para simplificar a depuração. Usando blocos de anotações do EMR, é fácil experimentar e criar aplicativos com o Spark. Se preferir, você pode usar o Apache Zeppelin para criar blocos de anotações interativos e colaborativos para explorar dados usando o Spark.

Saiba mais sobre o Apache Spark aqui.

Recursos e benefícios

Performance rápida

O EMR apresenta o tempo de execução do Amazon EMR para o Apache Spark - um ambiente com tempo de execução de desempenho otimizado para o Apache Spark, disponível e ativado por padrão nos clusters do Amazon EMR. O tempo de execução do Amazon EMR para o Apache Spark pode ser até 3x mais rápido do que os clusters sem o tempo de execução EMR, e tem compatibilidade API de 100% com o Apache Spark padrão. Essa performance aprimorada significa que cargas de trabalho executam com maior rapidez, reduzindo custos de computação sem qualquer alteração nos aplicativos.

Ao usar um mecanismo de execução de gráfico acíclico direcionado (DAG), o Apache Spark pode criar planos de consulta eficientes para transformações de dados. O Spark também armazena dados de entrada, saída e intermediários na memória como quadros de dados resilientes, o que permite um processamento rápido e sem custos de E/S, aumentando a performance de cargas de trabalho iterativas e interativas.

Desenvolva aplicativos de forma rápida e colaborativa

O Apache Spark oferece suporte nativo a Java, Scala, SQL e Python, oferecendo a você várias linguagens para a criação de aplicativos. Além disso, você pode enviar consultas SQL ou HiveQL usando o módulo Spark SQL. Além de executar aplicativos, você pode usar a API do Spark de modo interativo com Python ou Scala diretamente no shell do Spark ou por meio de blocos de anotações Jupyter no seu cluster. O suporte ao Apache Hadoop 3.0 no EMR 6.0 proporciona o suporte a contêineres do Docker para simplificar o gerenciamento de dependências. Você também pode utilizar blocos de anotações do EMR independentes de clusters (baseado no Jupyter) ou usar o Zeppelin para criar blocos de anotações interativos e colaborativos para a exploração e a visualização de dados. É possível ajustar e depurar cargas de trabalho no console do EMR, que conta com um Spark History Server fora do cluster e persistente.

Crie fluxos de trabalho distintos

O Apache Spark inclui várias bibliotecas para ajudar a criar aplicativos de machine learning (MLlib), processamento de streams (Spark Streaming) e processamento de gráficos (GraphX). Essas bibliotecas estão solidamente integradas ao ecossistema do Spark e podem ser utilizadas automaticamente para contemplar vários casos de uso. Além disso, é possível usar estruturas de aprendizagem profunda como Apache MXNet com aplicativos Spark. A integração com o AWS Step Functions permite adicionar automação e orquestração de fluxos de trabalho sem servidor aos aplicativos.

Integração com o conjunto de recursos do Amazon EMR

Envie trabalhos do Apache Spark com a API Step do EMR, use o Spark com o EMRFS para acessar dados diretamente no S3, reduza custos usando a capacidade spot do EC2, use o EMR Managed Scaling gerenciado para aumentar ou reduzir dinamicamente a capacidade e execute clusters de longa duração ou temporários de acordo com a carga de trabalho. Você também pode configurar facilmente a criptografia do Spark e a autenticação do Kerberos usando uma configuração de segurança do EMR. Além disso, é possível usar o catálogo de dados do AWS Glue para armazenar metadados de tabelas SQL do Spark ou usar o Amazon SageMaker com os pipelines de machine learning do Spark. O EMR instala e gerencia o Spark no Hadoop YARN, e você também pode adicionar outros aplicativos de big data ao seu cluster. O EMR com o Apache Hudi permite gerenciar com mais eficiência a Change Data Capture (CDC – Captura de dados alterados) e ajuda a cumprir regulamentos de privacidade como GDPR e CCPA simplificando a exclusão de registros. Clique aqui para obter mais detalhes sobre os recursos do EMR.

Casos de uso

Processamento em streams

Consuma e processe dados em tempo real do Amazon Kinesis, do Apache Kafka ou de outros streams de dados com o Spark Streaming no EMR. Execute a análise de streaming de modo tolerante a falhas e grave os resultados no S3 ou no HDFS armazenado no cluster.

Machine learning

O Apache Spark no EMR inclui o MLlib para vários algoritmos de machine learning escaláveis ou você pode usar suas próprias bibliotecas. Ao armazenar conjuntos de dados na memória durante um trabalho, o Spark obtém excelente performance para consultas iterativas comuns em cargas de trabalho de machine learning. Você pode melhorar as capacidades do Amazon Sagemaker ao conectar a instância do notebook a um cluster do Apache Spark sendo executado no Amazon EMR, com o Amazon Sagemaker Spark para treinar facilmente modelos e hospedar modelos.

SQL interativo

Use o Spark SQL para consultas interativas de baixa latência com SQL ou HiveQL. O Spark no EMR pode utilizar o EMRFS para que você tenha acesso ad hoc aos seus conjuntos de dados no S3. Além disso, você pode usar o EMR Studio, blocos de anotações do EMR ou do Zeppelin, ou ferramentas de BI por meio de conexões ODBC e JDBC.

Histórias de sucesso de clientes

Yelp

Yelp

A equipe de direcionamento de anúncios da Yelp cria modelos de previsão para determinar a probabilidade de um usuário interagir com o anúncio. Ao usar o Apache Spark no Amazon EMR para processar grandes volumes de dados para o treinamento de modelos de machine learning, a Yelp aumenta a receita e a taxa de cliques de anúncios.

Washingtonpost.com logo

The Washington Post

O Washington Post usa o Apache Spark no Amazon EMR para criar modelos que alimentem seu mecanismo de recomendação de sites para aumentar o engajamento e a satisfação do leitor. Eles utilizam a conectividade de boa performance do Amazon EMR com o Amazon S3 para atualizar modelos praticamente em tempo real.

Intent Media

Intent Media

A Intent Media opera uma plataforma de anúncios sobre sites de viagens. A equipe de dados usa o Apache Spark e o MLlib no Amazon EMR para consumir diariamente terabytes de dados de comércio eletrônico. Essas informações são usadas para alimentar seus serviços de tomada de decisões, o que otimiza a receita do cliente. Clique aqui para saber mais.

Krux

Krux

Como parte da sua plataforma de gerenciamento de dados para obter insights do cliente, a Krux executa muitas cargas de trabalho de machine learning e processamento geral usando o Apache Spark. A Krux usa clusters temporários do Amazon EMR com capacidade spot do Amazon EC2 para economizar custos, além de utilizar o Amazon S3 com o EMRFS como uma camada de dados para o Apache Spark.

Leia mais »

GumGum

GumGum

A GumGum, uma plataforma de anúncios em imagens e telas, usa o Spark no Amazon EMR para previsão de inventário, processamento de logs de clickstreams e análise ad hoc de dados não estruturados no Amazon S3. As melhorias na performance do Spark economizaram para a GumGum tempo e dinheiro que seriam gastos nesses fluxos de trabalho.

Leia mais »

Hearst

Hearst Corporation

A Corporação Hearst, uma grande empresa de mídia e informações diversificadas, tem clientes visualizando conteúdo em mais de 200 propriedades da web. Ao usar o Apache Spark Streaming no Amazon EMR, a equipe editorial da Hearst consegue controlar em tempo real quais artigos estão apresentando boa performance e quais temas são os assuntos do momento.

Leia mais »

CrowdStrike

CrowdStrike

A CrowdStrike disponibiliza proteção de endpoint para eliminar violações. Eles usam o Amazon EMR com Spark para processar centenas de terabytes de dados de evento, que são compilados em descrições comportamentais de nível superior nos hosts. Por meio desses dados, a CrowdStrike pode extrair dados de evento em conjunto e identificar a presença de atividades maliciosas.

Leia mais »

Saiba mais sobre a definição de preço do Amazon EMR

Acesse a página de definição de preço
Pronto para criar?
Comece a usar o Amazon EMR
Tem outras dúvidas?
Entre em contato conosco