Frequentemente, temos códigos que rodam por horas ou até dias... Impossibilitando o computador para a realização de outras tarefas. Uma solução interessante é "alugar" máquinas que façam essas análises para você.
Hoje está cada vez mais fácil trabalhar com computação em nuvem. Vou mostrar nesse post como utilizar o serviço da Amazon para computação em nuvem com RStudio.
1) O primeiro passo é criar uma conta AWS (Amazon Web Services).
2) Em seguida, vá ao site RStudio Server Amazon Machine Image (AMI). Você pode escolher alguma das regiões disponíveis, para as quais o RStudio já está instalado, como por exemplo, São Paulo:
Nessa etapa você já deve ter sua conta AWS (Amazon Web Services), após preencher com o nome de usário e senha a seguinte tela surge:
Note que há uma lista de possíveis máquinas e configurações disponíveis. Cada máquina possui um valor diferente para o aluguel do serviço. No caso de programação em paralelo deve-se atentar ao número de núcleos (cores) disponíveis e no caso de grandes bases de dados, também na memória RAM disponível.
3) Após escolher a máquina clique no botão Next: Configure Instance Details. Pode aceitar as configurações default e seguir para o próximo passo clicando em Next: Add Storage.
4) Também, nessa etapa (caso não necessite de nenhuma das opções apresentadas) pode seguir para o passo 5) clicando em Next: Tag Instance.
5) Essa é mais uma etapa optativa, não é necessário preencher os campos Key e Value.
6) Essa é mais uma etapa optativa, não é necessário preencher os campos Key e Value. Clique em Next: Configure Security Group.
7) Nessa etapa você deve escolher Type igual a HTTP e nos campos Security group name e Description pode preencher com o nome RStudio:
8) A última etapa para a criação do RStudio Server é clicar no botão Review and Launch. A Amazon irá apresentar as configurações escolhidas e então basta clicar em Launch para criar a instância. Obs: Caso surja uma janela com os dizeres Select an existing key pair or create a new key pair escolha a opção Proceed without a key pair.
Abrindo o RStudio Server na nuvem.
Se as etapas anteriores foram executadas corretamente uma tela como a apresentada abaixo deve surgir:1)Para abrir o RStudio Server, clique no nome da instância destacada na imagem anterior no retângulo vermelho.
2)Na tela que surgir, procure pelo endereço explicitado em Public DNS. O endereço estará no canto inferior direito da tela. Ao copiar e colar nesse endereço no navegador a seguinte tela aparecerá:
3) Escolha como Username: rstudio e Password: rstudio e então clique em Sign In. Após essas etapas surge:
4) Você deve alterar a senha, para isso, na linha 18, troque o nome "mypassword" pelo nova senha desejada e então execute todo o programa. Pronto! A senha foi atualizada. A partir de agora todo o login deverá ser feito com a nova senha escolhida.
Importando e exportando objetos no RStudio Server.
Caso você tenha alguma base de dados que deseja trabalhar, basta fazer o Upload para o servidor. Basta clicar na opção Upload da aba Files:Como exercício, fiz o Upload do arquivo german.csv (a descrição da base também está disponível):
Podemos criar alguns novos objetos:
#Importa a base de dados german.df<-read.csv("german.csv") #Gera uma variável N(0,1) x<-rnorm(100,0,1)Da mesma maneira que podemos fazer o Upload de dados podemos também fazer Download. Por exemplo, se fizermos um histograma:
#Cria o histograma hist(x)Podemos salvá-lo em nossa máquina, basta clicar na opção Export: Em seguida, salve o gráfico na nuvem: Por fim, escolhemos os objetos que desejamos exportar e clicamos na opção Export: . Escolha a opção Download:
Interface entre o RStudio Server da Amazon e Dropbox.
Por facilidade, podemos fazer o Download e o Upload de objetos entre o RStudio Server da Amazon e Dropbox. Para isso, além de uma conta no Dropbox, instalar o pacote rDrop. Os passos são: 1) Instale o pacote devtools no RStudio Server da Amazon. 2) Instale o pacote rDrop:#Habilita o pacote devtools library(devtools) #Instala o pacote rDrop install_github("duncantl/ROAuth") install_github("karthik/rDrop")3) Autorize o uso do RStudio Server da Amazon na sua conta do Dropbox. Para isso você precisa criar um App Dropbox developer site. Clique em Create App: 4) Escolha a opção Dropbox Api app: 5) Uma vez que o App foi criado, certifique-se de guardar sua App key e App secret em algum lugar seguro.
#Habilita o pacote rDrop library(rDrop) #Insere a App key necessária para a utilização do dropbox dropbox_credentials <- dropbox_auth("App key", "App secret")6) Podemos importar dados do Dropbox e exportar dados, basta usar os comandos:
#Salva arquivos no dropbox ?dropbox_save #Importa arquivos do dropbox ?dropbox_getPor fim, por se tratar de um serviço PAGO após terminar o uso do RStudio Server Amazon você precisa encerrar a instância, ou então vai continuar pagando pelo serviço. Para isso, basta ir no site AWS onde o servidor foi configurado e na opção Instances parar a instância: Também é possível encerrar a instância por meio do código:
#Enccerra a instância do RStudio Server na Amazon: system("sudo shutdown -h now", wait = FALSE)