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:
1 2 3 4 5 | #Importa a base de dados german.df<- read.csv ( "german.csv" ) #Gera uma variável N(0,1) x<- rnorm (100,0,1) |
1 2 | #Cria o histograma hist (x) |
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:1 2 3 4 5 6 | #Habilita o pacote devtools library (devtools) #Instala o pacote rDrop install_github ( "duncantl/ROAuth" ) install_github ( "karthik/rDrop" ) |
1 2 3 4 5 | #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" ) |
1 2 3 4 5 | #Salva arquivos no dropbox ?dropbox_save #Importa arquivos do dropbox ?dropbox_get |
1 2 | #Enccerra a instância do RStudio Server na Amazon: system ( "sudo shutdown -h now" , wait = FALSE ) |