Natalie Olivo Blocked Unblock Seguir Seguindo 11 de janeiro
O Jupyter Notebook é uma ferramenta incrível para aprender e solucionar problemas de código. Aqui está um blog para mostrar como aproveitar essa poderosa ferramenta enquanto aprende Spark!
Spark é útil se você estiver fazendo algo computacionalmente intenso que pode ser paralelizado. Confira esta pergunta do Quora para mais informações.
Este blog será sobre como configurar a infraestrutura para usar o Spark por meio do AWS Elastic Map Reduce (AWS EMR) e do Jupyter Notebook.
Navegue para o AWS EMR
Você verá o seguinte na parte superior da tela:
Clique em "Criar cluster"
Selecione Opções Avançadas
No topo da tela
Replicar as seguintes capturas de tela
Eu destaquei nos itens em amarelo que você precisa mudar dos padrões, exceto quando se trata dos Tipos de Nós no Passo 2. Isso vai depender de quão intensamente computacionalmente é sua tarefa. Se você está apenas testando coisas, os recursos podem ser bem pequenos. As instâncias que começam com 'g' são instâncias de GPU e são melhores para executar o Spark.
Se você planeja chamar dados ou arquivos de um bucket do S3, assegure-se de estar no mesmo VPC que o bucket do S3.
Veja o “Adicionar ação bootstrap”?
Ok, aqui é onde você instalaria as Ações de Bootstrap. As ações do Bootstrap são executadas como o usuário do Hadoop por padrão. Você pode executar uma ação de bootstrap com privilégios de root usando o sudo.
As Ações de Bootstrap são a maneira mais eficiente de instalar Pacotes Python adicionais em seus outros núcleos. Com base no software que escolhemos instalar na configuração de software, o Anaconda já estará instalado neles. Para o script de coleta de dados 990, o pacote adicional que precisaremos é xmltodict.
Salvaremos uma ação de bootstrap que contenha o seguinte script como 990_boot.sh e armazená-lo em um bucket do S3 e depois adicioná-lo.
sudo pip instalar xmltodict
Certifique-se de incluir o sudo!
Certifique-se de escolher um par de chaves EC2 ao qual você tenha acesso
Por que escolher esses grupos de segurança?
No painel do EC2, deve haver as seguintes regras de entrada.
Neste exemplo, a fonte é 0.0.0.0/0, que é todos os endereços IP. Para tornar isso mais seguro, insira seu próprio endereço IP.
Como verificar: acesse o painel do EC2, clique em Grupos de segurança, encontre seu grupo e adicione regras personalizadas:
O 22 permite SSH a partir de um computador local, o 888x permite que você veja o Jupyter Notebook. Como nota, esta é uma captura de tela antiga; Eu fiz o meu 8880 para este exemplo.
Agora vá para a linha de comando local; vamos para o SSH no cluster do EMR.
Em geral, não compartilhe seu DNS público na Internet. Este é um dos meus antigos.
Resultado:
Encontre a sua versão Anaconda
https://repo.continuum.io/archive/ e copie / cole o caminho de arquivo na próxima etapa. Escolha o Python 3.6 ou inferior porque, neste momento, não acho que seja possível atualizar os nós de trabalho até o 3.7. Me deixe uma dica nos comentários se for!
Instale o Anaconda
Coloque o seu caminho de arquivo a partir do último passo aqui:
wget https://repo.continuum.io/archive/Anaconda2-2018.12-Linux-x86_64.sh
pressione Enter
bash Anaconda2–2018.12-Linux-x86_64.sh
pressione enter, e continue pressionando enter para fazer o seu caminho através dos termos e condições
escreva sim,
pressione enter para confirmar a localização
digite sim para adicionar a variáveis de ambiente para que o Python funcione
qual python / usr / bin / python
pressione Enter
fonte .bashrc
Aguarde a instalação dos pacotes.
Configurar o Spark w Jupyter
Digite cada uma das seguintes linhas no prompt de comando do EMR, pressionando enter entre cada uma delas:
exportar PYSPARK_DRIVER_PYTHON = jupyter
exportar PYSPARK_DRIVER_PYTHON_OPTS = 'notebook - sem navegador - porta = 8888'
fonte ~ / .bashrc
Digite pyspark no seu prompt de comando do EMR
Resultado:
Veja esse token destacado? copie.
Abra o Jupyter Notebook no seu navegador
Digite o seguinte na sua barra de endereços: localhost: 8880
Resultado: uma página para colar o token da última etapa e efetuar login.
Yay! Você fez isso!
Recursos:
https://medium.com/@alexjsanchez/python-3-notebooks-on-aws-ec2-in-15-mostly-easy-steps-2ec5e662c6c6
Versão Errada do Erro Python:
https://aws.amazon.com/premiumsupport/knowledge-center/emr-pyspark-python-3x/