Il modo migliore per archiviare set di dati di grandi dimensioni utilizzando R da Twitter?


8

Sto lavorando a un progetto che ha lo scopo di recuperare un set di dati di grandi dimensioni (ad es. Dati di tweet di un paio di giorni) da Twitter utilizzando la libreria twitteR su R. ho difficoltà a memorizzare i tweet perché la mia macchina ha solo 8 GB di memoria . Ha esaurito la memoria anche prima che lo impostassi per il recupero per un giorno. C'è un modo in cui posso archiviare i tweet direttamente sul mio disco senza archiviarli nella RAM? Non sto usando l'API di streaming in quanto ho bisogno di ottenere vecchi tweet.


1
Perché non usi Python o semplicemente strumenti da riga di comando per recuperare i dati di Twitter, salvarli in blocchi (anche gzipped) e poi tornare a R per l'analisi?
Anton Tarasenko,

Python può recuperare vecchi tweet usando il metodo che hai citato?
Digital Dude,

Può, ma dovrai acquistare l'accesso API da Twitter o da un altro venditore della cronologia di Twitter.
Anton Tarasenko,

Risposte:


5

Trova un modo per far scrivere periodicamente il tuo programma sul disco. Tieni conto del numero di tweet che acquisisci e salva dopo che quel numero è alto. Non scrivo R ma psuedocode potrebbe assomigliare a:

$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); } }


1
sì, potrebbe essere possibile in programmazione, ma per R il modo in cui elabora i dati è abbastanza diverso. Sto usando la libreria twitteR da R e il minimo che un recupero è un giorno. Non sono sicuro di come continuerò dal punto in cui smetto di twittare se avessi eseguito di nuovo la funzione SearchTweets.
Digital Dude,

Vorrei sapere di più su R per aiutarti. Scusate!
sheldonkreger,

2

Ho lavorato su un progetto di dati Twitter lo scorso autunno in cui abbiamo usato le librerie Java per estrarre i dati del tweet dallo streaming e dalle API rimanenti. Abbiamo usato Twitter4J (una libreria Java non ufficiale) per l' API di Twitter .

I dati del tweet sono stati recuperati e scritti direttamente su file di testo sui nostri dischi rigidi. Sì, abbiamo aumentato la memoria e l'heap. Credo che R studio avrà un'opzione simile. Un'alternativa sarebbe quella di inserire quantità minori di dati tweet con un numero maggiore di ripetizioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.