Il titolo è piuttosto auto-esplicativo qui, ma elaborerò come segue. Alcune delle mie attuali tecniche per attaccare questo problema si basano sulle soluzioni presentate nella domanda this. Tuttavia, sto affrontando diverse sfide e vincoli quindi mi chiedevo se qualcuno potesse tentare di prendere una pugnalata a questo problema. Sto cercando di capire il problema usando il pacchetto bigmemory ma ho incontrato delle difficoltà.Lettura di 40 GB di file csv in R utilizzando bigmemory
vincoli presenti:
- utilizzando un server Linux con 16 GB di RAM
- Dimensioni di 40 GB CSV
- No di righe: 67.194.126.114
sfide
- È necessario essere in grado di campionare casualmente dataset più piccoli (5-10 milioni di righe) da una big.matrix o una struttura di dati equivalente.
- È necessario essere in grado di rimuovere qualsiasi riga con una singola istanza di NULL mentre si analizza in una big.matrix o in una struttura di dati equivalente.
Finora, i risultati non sono positivi. Evidentemente, sto fallendo in qualcosa o forse, semplicemente non capisco lo bigmemory documentation abbastanza bene. Quindi, ho pensato di chiedere qui per vedere se qualcuno ha usato
Qualche consiglio, consiglio su questa linea di attacco ecc.? O dovrei passare a qualcos'altro? Mi scuso se questa domanda è molto simile alla precedente, ma ho pensato che la scala dei dati era circa 20 volte più grande delle domande precedenti. Grazie !
Come su un campione del contenuto del file? –
Dove esattamente stai fallendo? Che tipo di dati ci sono nel file .csv - è tutto 'double's,' int's o altrimenti? Come sono rappresentate le voci 'NULL' nel file? Ci sono nomi di righe/colonne? E cosa hai provato? Dato un .csv di struttura appropriata, 'read.big.matrix' dovrebbe portarti lì. –
Ulteriori informazioni sarebbero buone, ma perché non importarle in SQL, fare qualche preparazione lì e poi caricarle in R? –