Melhor maneira de armazenar grandes conjuntos de dados usando R do Twitter?

8

Estou trabalhando em um projeto que visa recuperar um grande conjunto de dados (ou seja, dados de tweets com alguns dias) do Twitter, usando a biblioteca twitteR na R., tem dificuldade em armazenar tweets porque minha máquina possui apenas 8 GB de memória . Ficou sem memória mesmo antes de eu configurá-lo para recuperar por um dia. Existe uma maneira de armazenar os tweets diretamente no meu disco sem armazenar na RAM? Não estou usando a API de streaming, pois preciso obter tweets antigos.

Cara Digital
fonte
1
Por que você não usa Python ou apenas ferramentas de linha de comando para recuperar dados do Twitter, salvá-los em partes (pares gzipped) e depois voltar ao R para análise?
Anton Tarasenko
O python pode recuperar tweets antigos usando o método que você mencionou?
Digital Dude
Pode, mas você precisará comprar o acesso à API do Twitter ou de outro vendedor do histórico do Twitter.
Anton Tarasenko

Respostas:

5

Encontre uma maneira de fazer seu programa gravar no disco periodicamente. Mantenha a contagem do número de tweets que você pega e salva depois que esse número é alto. Eu não escrevo R, mas o psuedocode pode se parecer com:

$tweets = get_tweets(); $count = 0; $tweet_array = array(); for each ($tweets as $tweet) { $tweet_array += $tweet; $count++; if ($count > 10000) { append_to_file($tweet_array, 'file_name.txt'); clear_array($tweet_array); } }

sheldonkreger
fonte
1
sim, pode ser possível na programação, mas para o R, a maneira como processa os dados é bem diferente. Estou usando a biblioteca twitteR de R e o valor mínimo de recuperação é de um dia. Não tenho certeza de como vou continuar a partir do ponto em que paro de twittar se executar novamente a função searchTweets.
Digital Dude
Gostaria de saber mais sobre o R para ajudá-lo. Desculpa!
sheldonkreger
2

Trabalhei em um projeto de dados do Twitter no outono passado, no qual usamos bibliotecas Java para extrair dados de tuítes do streaming e das demais APIs. Usamos o Twitter4J (uma biblioteca Java não oficial) para a API do Twitter .

Os dados do tweet foram buscados e gravados diretamente em arquivos de texto em nossos discos rígidos. Sim, aumentamos a memória e a pilha. Eu acredito que o estúdio R terá uma opção semelhante. Uma alternativa seria extrair quantidades menores de dados de tweets com mais número de repetições.

untitledprogrammer
fonte