Ao longo dos últimos cinco anos, o Amazon Elastic MapReduce (Amazon EMR) evoluiu para um container de execução de muitos frameworks de computação distribuída, além de apenas Hadoop MapReduce. Os clientes podem optar por executar uma variedade de engines, como HBase, Impala, Spark ou Presto em seu cluster Amazon EMR e alavancar os recursos da Amazon EMR como o desempenho rápido do Amazon Simple Storage Service (Amazon S3), conectividade com outros serviços da AWS, e facilidade de uso (criação do cluster e gerenciamento).
Estamos particularmente animados sobre o Apache Spark, uma engine no ecossistema Apache Hadoop para processamento rápido e eficiente de grandes conjuntos de dados. Ao usar conjuntos de dados distribuídos (RDDS) in-memory, resilientes e tolerantes a falhas e grafos acíclicos (DAGs) diretos para definir as transformações de dados, o Spark tem mostrado aumentos significativos de desempenho para determinados workloads quando comparados ao Hadoop MapReduce. O Amazon EMR não é estranho ao Spark. Na verdade, os clientes já executam o Spark em clusters Hadoop gerenciados na Amazon EMR há anos.
Para oferecer aos nossos clientes fácil acesso ao Spark no cluster Amazon EMR, escrevemos uma ação de bootstrap acompanhada por um artigo de fevereiro de 2013, sobre como usar o Spark e o Shark. Muita coisa mudou no ecossistema Spark desde então: foi “promovido” a 1.x, garantindo a estabilidade da API core para todas as versões 1.x, enquanto Shark tem sido preterido em favor do Spark SQL, e o Spark pode ser executado sobre o YARN (gerenciador de recursos para Hadoop 2). À luz dessas alterações, revisamos a ação de bootstrap para instalar o Spark 1.x em nosso Hadoop 2.x AMIs e executá-lo sobre o YARN. A ação bootstrap também instala e configura o SQL Spark, Spark Streaming, MLlib e GraphX. A localização do Amazon S3 para a instalação da ação bootstrap no Spark é:
s3://support.elasticmapreduce/spark/install-spark
Também é possível encontrar mais informações sobre o script bootstrap para instalar o Spark na página EMR Labs GitHub. Com esta ação de bootstrap, o Spark pode ser instalado facilmente em clusters Amazon EMR do Console ou AWS CLI (mostrado aqui – mas substitua “MyKeyPair” pelo nome do seu par de chaves no SSH em seu cluster):
aws emr create-cluster --name SparkCluster --ami-version 3.2.1 -- instance-type m3.xlarge --instance-count 3 --ec2-attributes KeyName=MyKeyPair --applications Name=Hive --bootstrap-actions Path=s3://support.elasticmapreduce/spark/install-spark
Atualmente, a ação bootstrap irá instalar: » Spark 0.8.1 no Hadoop 1.0.3 (AMI 2.x) » Spark 1.0.0 no Hadoop 2.2.0 (AMI 3.0.x) » Spark 1.1.0 no Hadoop 2.4.0 (AMI 3.1.x e 3.2.x) Também atualizamos o Spark original no artigo Amazon EMR para fazer referência à nova ação bootstrap e usar nova sintaxe nos exemplos Spark e Spark SQL. Esta é uma ótima maneira de começar a explorar o Spark e o Spark SQL na Amazon EMR.
***
Artigo escrito por Evan Brown.
Este artigo faz parte do AWSHUB, rede de profissionais AWS gerenciado pelo iMasters.