Esamina Parquet ed esporta i dati
Parquet1/2: metadati non cifrati, gruppi e colonne principali scelte.
- Funziona nel browser
- Nessun caricamento
- Controlla prima di scaricare
File e schemi restano nella scheda e in un worker locale. Nessun invio né salvataggio automatico. Svuotare o chiudere la scheda fa perdere i dati inseriti: conserva gli originali e i risultati.
Parquet1/2: metadati non cifrati, gruppi e colonne principali scelte. PLAIN, dizionario/RLE, DELTA_BINARY_PACKED esatto INT32/64, DELTA_LENGTH_BYTE_ARRAY, DELTA_BYTE_ARRAY e BYTE_STREAM_SPLIT; non compresso, Snappy, GZIP e ZSTD. Liste/mappe/strutture preservano null ed elementi ripetuti. DECIMAL resta testo esatto; timestamp in tick con unità/UTC; INT96 segue giorno giuliano/nanosecondi storico. Colonne cifrate/esterne e altri codec rifiutati. Anche un’anteprima breve decodifica il blocco scelto entro i limiti. CSV: valori tra virgolette, blob hex, strutture JSON tipizzato, marcatore null senza collisioni. I fogli possono reinterpretare numeri; l’apostrofo modifica formule senza garanzia universale. INT96 fuori dalla convenzione dei nanosecondi del giorno resta hex esatto con diagnosi int96Raw; nessuna data da note esterne viene sostituita. I gruppi tupla LIST storici conservano i campi; i contenitori canonici distinguono liste vuote ed elementi null. Le collisioni col marcatore null sono verificate prima e dopo la protezione delle formule; una collisione trasformata blocca l’export.
File fino a 16 MiB; Protobuf fino a 1 MiB; schema fino a 256 KiB, totale fino a 1 MiB. Profondità 64, 20.000 nodi, 100.000 valori; decodifica 32 MiB; output 8 MiB più l’originale. Anteprima di 200 righe, esportazione di 10.000. Limite di 5 secondi. I 64 MiB di SQLite non corrispondono a tutta la memoria del browser.
Metodo e limiti
Profilo supportato
Parquet1/2: metadati non cifrati, gruppi e colonne principali scelte. PLAIN, dizionario/RLE, DELTA_BINARY_PACKED esatto INT32/64, DELTA_LENGTH_BYTE_ARRAY, DELTA_BYTE_ARRAY e BYTE_STREAM_SPLIT; non compresso, Snappy, GZIP e ZSTD. Liste/mappe/strutture preservano null ed elementi ripetuti. DECIMAL resta testo esatto; timestamp in tick con unità/UTC; INT96 segue giorno giuliano/nanosecondi storico. Colonne cifrate/esterne e altri codec rifiutati. Anche un’anteprima breve decodifica il blocco scelto entro i limiti. CSV: valori tra virgolette, blob hex, strutture JSON tipizzato, marcatore null senza collisioni. I fogli possono reinterpretare numeri; l’apostrofo modifica formule senza garanzia universale. INT96 fuori dalla convenzione dei nanosecondi del giorno resta hex esatto con diagnosi int96Raw; nessuna data da note esterne viene sostituita. I gruppi tupla LIST storici conservano i campi; i contenitori canonici distinguono liste vuote ed elementi null. Le collisioni col marcatore null sono verificate prima e dopo la protezione delle formule; una collisione trasformata blocca l’export.
Limiti di risorse
File fino a 16 MiB; Protobuf fino a 1 MiB; schema fino a 256 KiB, totale fino a 1 MiB. Profondità 64, 20.000 nodi, 100.000 valori; decodifica 32 MiB; output 8 MiB più l’originale. Anteprima di 200 righe, esportazione di 10.000. Limite di 5 secondi. I 64 MiB di SQLite non corrispondono a tutta la memoria del browser.
File e schemi restano nella scheda e in un worker locale. Nessun invio né salvataggio automatico. Svuotare o chiudere la scheda fa perdere i dati inseriti: conserva gli originali e i risultati.
Come esaminare
- File binario locale
Carica un file Parquet locale e controlla prima i metadati. Scegli tutti i gruppi di righe o uno solo, le colonne di primo livello, la riga iniziale e il numero di righe; poi seleziona l’anteprima o l’esportazione in CSV.
- Schema e metadati
Carica l’esempio incluso: la colonna value ha precisione DECIMAL 4, scala 2 e 24 righe. Parti da 0 e richiedi 2 righe: i valori sono le stringhe decimali esatte 1.00 e 2.00, non approssimazioni binary64.
- Verifica e salva esportazioni
Confronta la finestra di righe scelta con totalRows: l’anteprima non mostra l’intero insieme di dati. Controlla tipi logici, compressione e diagnostica prima di salvare selection.csv e report.json. I valori annidati mantengono la loro struttura con i tipi indicati.
Metodo e limiti
Come conserva il CSV da Parquet i decimali, i valori annidati e i null?
Scegli il delimitatore, LF o CRLF, l’eventuale BOM UTF-8 e un token per i null che non coincida con i dati. Le celle non null sono tra virgolette: i numeri decimali e interi restano testo esatto, i byte sono in esadecimale e i valori annidati in JSON con i tipi indicati. Un foglio di calcolo può comunque reinterpretare i numeri, quindi importa come testo le colonne in cui la precisione conta. La modalità con prefisso modifica il testo che somiglia a una formula.
Perché il file o la selezione non si può leggere?
I file cifrati, i blocchi di colonna esterni e i codec o le codifiche non supportati vengono rifiutati. La compressione supportata è: nessuna, Snappy, GZIP o ZSTD. Anche una piccola anteprima di righe può richiedere di decodificare un intero blocco e superare il limite di risorse.
Che cosa non fa di proposito questo strumento?
File locale fino a 16 MiB, al massimo 10000 righe richieste e 200 righe mostrate in anteprima. È un’ispezione ed esportazione con limiti, non un’analisi SQL né una modifica, e non garantisce il supporto di ogni variante di Parquet. Il file originale resta invariato.