Ho un array json enorme (~ 7 GB) di oggetti relativamente piccoli.Elaborazione di file json-array enormi con jq
C'è un modo relativamente semplice per filtrare questi oggetti senza caricare l'intero file in memoria?
--stream l'opzione sembra adeguata, ma non riesco a capire come piegare il flusso di [percorso, valore] agli oggetti originali.
Piccolo mondo. Mi sono appena imbattuto in un problema simile. Di interesse, gli spazi bianchi nel tuo file JSON sono prevedibili? Ad esempio, gli array JSON di grandi dimensioni utilizzano spesso una riga per elemento di livello superiore dell'array? – Tom
Se il file è già formattato regolarmente, è possibile prendere in considerazione l'utilizzo di strumenti per la creazione di testo per convertire il file in un flusso di piccoli oggetti, che potrebbero quindi essere elaborati utilizzando jq. Se il file non è già adeguatamente formattato, allora se è accettabile usare jq sull'intero file solo una volta, allora potresti prendere in considerazione l'uso di 'jq .' per formattare il JSON per renderlo facile da convertire in un tale stream. – peak