O Amazon Elastic MapReduce (Amazon EMR) é um serviço da web que permite às empresas, pesquisadores, analistas de dados e desenvolvedores processar, de modo fácil e econômico, grandes quantidades de dados. Ele utiliza uma estrutura Hadoop hospedada sendo executada na infraestrutura de escala da Web do Amazon Elastic Compute Cloud (Amazon EC2) e Amazon Simple Storage Service (Amazon S3).
Usando o Amazon Elastic MapReduce, você pode fornecer imediatamente quanta capacidade desejar para desempenhar tarefas que requerem muitos dados para aplicativos como indexação da Web, mineração de dados, análise de arquivos de log, depósito de dados, aprendizagem da máquina, análise financeira, simulação científica e pesquisa bioinformática. O Amazon Elastic MapReduce permite que você se concentre na decodificação ou análise dos dados sem ter de se preocupar com a configuração, a gestão ou a sintonia de clusters Hadoop, o que consome tempo, ou com a capacidade computacional na qual estão baseados.
Novo no EMR? Verifique estes recursos:
| Novidades | |
| O EMR agora oferece suporte a instâncias de armazenamento de alta capacidade | |
|
Instâncias de armazenamento de alta capacidade (hs1.8xlarge) são ideais para aplicativos que exigem acesso sequencial para conjuntos de dados muito grandes. Elas são fornecidas com 48 TB de capacidade de armazenamento em 24 unidades de disco rígido, 16 núcleos virtuais que podem fornecer 35 unidades de processamento EC2 (ECUs) de performance de CPU, 117 GiB de RAM e 10 Gbps de redes.
|
|
| Execute o HBase no Amazon EMR | |
|
Agora você pode executar o HBase no Amazon Elastic MapReduce, oferecendo acesso de dados em tempo real para o Hadoop na nuvem. O HBase é um armazenamento de dados orientado por colunas e distribuído que fornece leituras e gravações rigidamente consistentes, fragmentação automática de tabelas e armazenamento eficiente de grandes quantidades de dados esparsos. Ele foi criado para funcionar perfeitamente com o Hadoop, compartilhando seu sistema de arquivos e servindo como a entrada e saída para tarefas do MapReduce executadas no Hadoop. Além disso, o HBase no EMR fornece aos clientes a capacidade de realizar backups incrementais e completos para o Amazon S3, com a opção de consistência garantida.
|
|
| EMR com a distribuição de MapR para Hadoop | |
| O MapR oferece recursos com foco empresarial para o Hadoop, como alta disponibilidade, captura instantânea de dados, espelhamento em cluster em AZs e montagens do NFS. Combinado com o ambiente Hadoop gerenciado do Amazon Elastic MapReduce, a integração perfeita com outros serviços da AWS e o preço por hora sem taxas iniciais ou compromissos a longo prazo, o Amazon EMR com a distribuição de MapR para Hadoop oferece aos clientes uma ferramenta valiosa para gerar insights a partir de seus dados. | |
O Amazon Elastic MapReduce automaticamente realiza uma implementação Hadoop do framework do MapReduce nas instâncias do Amazon EC2, subdividindo os dados de um fluxo de trabalho em partes menores para que possam ser processados (a função "mapa") paralelamente e, por fim, recombinando os dados processados na solução final (a função "reduzir"). O Amazon S3 atua como fonte dos dados que estão sendo analisados e como destino de saída dos resultados finais.
A utilização do Amazon Elastic MapReduce é simples:
Elastic – O Amazon Elastic MapReduce permite que você use quantas instâncias de computação forem desejadas executando o Hadoop. Você pode comissionar um, centenas ou até milhares de instâncias para processar gigabytes, terabytes ou petabytes de dados. Você pode modificar o número de instâncias enquanto o fluxo de trabalho estiver sendo executado e poderá executar quantos fluxos de trabalho desejar simultaneamente. Você pode acionar imediatamente grandes fluxos de trabalho do Hadoop que iniciarão o processamento dentro de minutos, não horas ou dias. Quando o fluxo de trabalho for concluído, a menos que você especifique em contrário, o serviço decomporá automaticamente as instâncias.
Fácil de usar – Não é necessário se preocupar com a configuração, execução ou aprimoramento do desempenho dos clusters do Hadoop; em vez disso, você pode se concentrar na análise dos dados. Fornecemos ferramentas fáceis de usar e aplicativos de processamento de dados de exemplo que permitem que você acione e execute sem gravar uma linha única de código. Ao iniciar um fluxo de trabalho, o Amazon Elastic MapReduce lida com o provisionamento de instâncias do Amazon EC2, definições de segurança, configuração do Hadoop, coleta de logs, monitoramento do status e outras complexidades relacionadas ao hardware, como a remoção automática de instâncias com falha do fluxo de trabalho em execução.
Confiável – O Amazon Elastic MapReduce foi criado na infraestrutura altamente confiável da Amazon e aprimorou o desempenho do Hadoop especificamente para o ambiente da infraestrutura da Amazon. O serviço também monitora a execução do fluxo de trabalho, recuperando tarefas com falha, desativando instâncias problemáticas e provisionando novos nós para substituir aqueles que falharam.
Perfeitamente integrado a outros serviços da AWS – O Amazon Elastic MapReduce foi criado para ser facilmente integrado a outros serviços da AWS, como o Amazon S3, o DynamoDB e o EC2, fornecendo a infraestrutura para aplicativos de processamento de dados. O serviço executa fluxos de trabalho no Amazon EC2 e armazena dados de entrada e de saída no Amazon S3 e/ou no Amazon DynamoDB.
Seguro – O Amazon Elastic MapReduce configura automaticamente as definições de firewall do Amazon EC2 que controlam o acesso à rede e entre as instâncias que executam os fluxos de trabalho. Os fluxos de trabalho também podem ser iniciados no Amazon Virtual Private Cloud (Amazon VPC), o que permite que você isole suas instâncias computacionais, especificando a faixa de IP que você deseja usar e conectar à sua infraestrutura de TI existente usando o padrão da indústria VPN IPsec criptografado.
Econômico – O Amazon Elastic MapReduce transfere a você os benefícios financeiros da escala da Amazon. Você paga uma taxa muito baixa pela capacidade computacional que você realmente utilizar. O Amazon Elastic MapReduce foi otimizado para poupar seu dinheiro ao monitorar o andamento dos fluxos de trabalho e desativar os recursos quando um fluxo de trabalho for concluído.
Várias localizações – O Amazon Elastic MapReduce usa uma infraestrutura do EC2 geograficamente dispersa e atualmente está disponível nas Regiões Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Oregon), Oeste dos EUA (Norte da Califórnia), UE (Irlanda), Ásia-Pacífico (Cingapura), Ásia-Pacífico (Tóquio), Ásia-Pacífico (Sydney) e América do Sul (São Paulo).
Ferramentas de terceiros – O Amazon Elastic MapReduce está integrado em uma ampla gama de soluções e ferramentas de terceiros. O Karmasphere Analyst, por exemplo, é um espaço de trabalho visual e de mesa, para análise de dados no Amazon Elastic MapReduce. Ele fornece ferramentas gráficas para executar as consultas baseadas em SQL de dados estruturados e não estruturados e visualizar os resultados. O Karmasphere Analyst está disponível com preços por hora e nenhuma taxa inicial ou compromissos em longo prazo. Visite a página de detalhes do Elastic MapReduce com Karamasphere Analytics para saber mais.
Para usar o Amazon Elastic MapReduce, você precisa selecionar o tipo e a quantidade de instâncias do Amazon EC2 para incluir em seu fluxo de trabalho. O EMR é compatível com opções de definição de preço de instâncias on demand, reservadas e spot; se você tiver instâncias reservadas, elas serão usadas primeiro.
Instâncias desta família são adequadas para a maioria dos aplicativos.
Instâncias dessa família oferecem grandes tamanhos de memória para aplicativos de alta taxa de transferência, incluindo banco de dados e aplicativos de cache de memória.
As instâncias desta família têm proporcionalmente mais recursos de CPU do que memória (RAM) e são adequadas para aplicativos com processamento intensivo.
As instâncias desta família combinam tamanhos de memória grandes e recursos que requerem bastante CPU com rede de 10 Gbps. Elas são bastante adequadas para alto desempenho, aplicativos que requerem E/S, como mapeamento de genomas para pesquisa científica, simulação de designs aeroespaciais ou automotivos para atividades de engenharia e mineração de dados para inteligência dos negócios.
As instâncias de armazenamento de alta capacidade são ideais para aplicativos que exigem acesso sequencial para conjuntos de dados muito grandes.
*Unidade de processamento EC2 (ECU) – Uma unidade de processamento EC2 (ECU) fornece a capacidade de CPU equivalente de um processador Opteron 2007 ou Xeon 2007 de 1,0 a 1,2 GHz.
Com o Elastic MapReduce, você paga somente pelo que utilizar.
O seu custo dependerá do número e do tipo de instâncias do Amazon EC2 em seu fluxo de trabalho e da quantidade de tempo em execução. A definição de preço para Elastic MapReduce é fornecida além da definição de preço para EC2 e S3.
Você será cobrado do momento em que o fluxo de trabalho iniciar o processamento até que seja encerrado. As horas parciais serão arredondadas.
Os preços do Amazon EC2 acima são para instâncias on demand. As instâncias on demand são as mais dispendiosas, mas fornecem a você mais flexibilidade. O EC2 também oferece instâncias reservadas e instâncias spot.
"O Amazon Elastic MapReduce com instâncias spot facilitou a criação de protótipos e reduziu de forma surpreendente a ampliação, reduzindo nossos custos de processamento de dados em mais de 50%". - VP de engenharia na Fliptop
Para ver mais informações e preços atuais de instâncias reservadas e instâncias spot, consulte a página de definição de preço do Amazon EC2.O Amazon S3 será cobrado separadamente. (Muitos clientes armazenam seus dados de entrada e saída no S3; outros armazenam todos os dados localmente no HDFS.) Atualmente, custa 668 USD por mês para armazenar 10 TB de dados no S3 com redundância reduzida. Quanto mais dados você armazenar, menor será o preço mensal por GB.
O Amazon SimpleDB também é cobrado separadamente. (Somente se aplica se você habilitar a depuração para seu fluxo de trabalho)
Se você escolher a distribuição Hadoop MapR M5m haverá um custo adicional. Consulte a página de detalhes de MapR para obter mais informações e preços atuais.
Você pode usar a Calculadora Mensal simples da AWS para estimar sua conta.
| Recursos do desenvolvedor |
O Amazon Elastic MapReduce usa o Apache Hadoop como seu mecanismo de processamento distribuído. O Hadoop é uma estrutura de software Java de código livre que oferece suporte a aplicativos distribuídos que consomem bastante dados sendo executados em clusteres grandes de hardware tipo "commodities". O Hadoop implementa um modelo computacional chamado "MapReduce", no qual o trabalho é dividido em vários fragmentos pequenos de trabalho, sendo que cada um deles poderá ser executado em qualquer nó no cluster. Essa estrutura tem sido amplamente usada pelos desenvolvedores, empresas e startups, e tem se mostrado uma plataforma de software confiável para processar até petabytes de dados em clusters de milhares de máquinas tipo "commodities".
O Amazon Elastic MapReduce permite que você implemente aplicativos de processamento de dados em muitas linguagens, incluindo Java, Perl, Ruby, Python, PHP, R ou C++. Você pode testar esses aplicativos em diferentes tipos de instância e tamanhos de fluxo de trabalho para selecionar as definições de desempenho ideal para seu caso específico.
Faça login no AWS Management Console para iniciar um "fluxo de trabalho" do Amazon Elastic Map Reduce: Basta selecionar o número e o tipo de instâncias do Amazon EC2 que você deseja, especificar a localização dos dados e/ou aplicativos no Amazon S3 e, em seguida, clicar no botão "Create Job Flow (Criar fluxo de trabalho)". Ou também é possível iniciar um fluxo de trabalho especificando as mesmas informações mencionadas acima por meio das nossas Ferramentas de linha de comando ou APIs. O Amazon Elastic MapReduce emprega uma interface de serviço da Web simples que é fácil de usar e altamente flexível:
Se você quiser executar fluxos de trabalho com mais de 20 instâncias, preencha o formulário de solicitação de instância.
Você é cobrado somente pelos recursos realmente consumidos. Por exemplo, digamos que você iniciou 100 instâncias pequenas padrão do Amazon EC2 para um fluxo de trabalho do Amazon Elastic MapReduce, onde o custo do Amazon Elastic MapReduce são mais USD 0,015 por hora. As instâncias do Amazon EC2 começarão a ser inicializadas de imediato, mas nem todas começarão necessariamente no mesmo momento. O Amazon Elastic MapReduce acompanhará quando cada instância começa e irá verificá-la no cluster de forma que possa aceitar tarefas de processamento.
Nos primeiros 10 minutos após a solicitação de início, o Amazon Elastic MapReduce inicia o fluxo de trabalho (se todas as instâncias estiverem disponíveis) ou verifica o máximo de instâncias possíveis. Após 10 minutos, o Amazon Elastic MapReduce começará o processamento (e o carregamento) do fluxo de trabalho assim que 90% das instâncias solicitadas estiverem disponíveis. À medida que os 10% restantes das instâncias solicitadas forem verificados, o Amazon Elastic MapReduce começará a fazer o carregamento dessas instâncias também.
Então, no exemplo acima, se todas as 100 instâncias solicitadas estiverem disponíveis 10 minutos após o lançamento de uma solicitação de início, haverá uma cobrança de USD 1,50 por hora (100 x USD 0,015) até que o fluxo de trabalho seja concluído. Se somente 90 das suas instâncias solicitadas estiverem disponíveis na marca de 10 minutos, haverá uma cobrança de USD 1,35 por hora (90 x USD 0,015) desde que este tenha sido o número de instâncias sendo executadas no fluxo de trabalho. Quando as 10 instâncias restantes forem verificadas, haverá uma cobrança de USD 1,50 por hora (100 x USD 0,015) até que o balanço do fluxo de trabalho seja concluído. Cada fluxo de trabalho será executado até que um dos seguintes ocorra: você encerre o fluxo de trabalho com a chamada da API TerminateJobFlows (ou uma ferramenta equivalente), o fluxo de trabalho desative-se ou seja encerrado devido a uma falha do software ou do hardware. Horas parciais de Instâncias de banco de dados são cobradas como horas completas.
O uso deste serviço está sujeito ao Acordo do Cliente da Amazon Web Services.