La meilleure façon de stocker un grand ensemble de données en utilisant R à partir de Twitter?

8

Je travaille sur un projet qui vise à récupérer un grand ensemble de données (c'est-à-dire des données de tweet datant de quelques jours) à partir de Twitter en utilisant la bibliothèque twitteR sur R. ont du mal à stocker des tweets car ma machine n'a que 8 Go de mémoire . Il a manqué de mémoire avant même que je ne le règle pour le récupérer pendant une journée. Existe-t-il un moyen de stocker les tweets directement sur mon disque sans les stocker dans la RAM? Je n'utilise pas l'API de streaming car j'ai besoin d'obtenir de vieux tweets.

Mec numérique
la source
1
Pourquoi n'utilisez-vous pas Python ou simplement des outils de ligne de commande pour récupérer des données Twitter, les enregistrer en morceaux (pairs gzipped), puis revenir à R pour analyse?
Anton Tarasenko
Python peut-il récupérer d'anciens tweets en utilisant la méthode que vous avez mentionnée?
Mec numérique
C'est possible, mais vous devrez acheter l'accès API à Twitter ou à un autre vendeur de l'historique Twitter.
Anton Tarasenko

Réponses:

5

Trouvez un moyen d'écrire périodiquement votre programme sur le disque. Gardez le compte du nombre de tweets que vous saisissez et enregistrez après que ce nombre est élevé. Je n'écris pas R mais le pseudo-code pourrait ressembler à ceci:

$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
la source
1
oui, cela pourrait être possible en programmation, mais pour R, la façon dont il traite les données est très différente. J'utilise la bibliothèque twitteR de R et le minimum de récupération est un jour. Je ne sais pas comment je vais continuer à partir du moment où j'arrête de tweeter si je lance à nouveau la fonction searchTweets.
Digital Dude
Je souhaite en savoir plus sur R pour vous aider. Désolé!
sheldonkreger
2

J'ai travaillé sur un projet de données Twitter l'automne dernier dans lequel nous avons utilisé des bibliothèques Java pour extraire des données de tweet du streaming et des autres API. Nous avons utilisé Twitter4J (une bibliothèque Java non officielle) pour l' API Twitter .

Les données du tweet ont été récupérées et directement écrites sur des fichiers texte sur nos disques durs. Oui, nous avons augmenté la mémoire et le tas. Je pense que R studio aura une option similaire. Une alternative serait de tirer moins de données de tweets avec plus de répétitions.

programmeur sans titre
la source