Convertire Parquet in NDJSON

Qui converti Parquet in NDJSON gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. La conversione avviene dentro il tuo browser, quindi il file non viene mai caricato. Funziona allo stesso modo su Windows, macOS e Linux e anche su iPhone e Android, e continua a funzionare anche se stacchi la connessione.

  • Dove gira Nel tuo browser. Il file non viene mai caricato.
  • Senza perdita Non si butta via niente. NDJSON conserva esattamente ciò che Parquet teneva.
  • Limite di dimensione Fino a 100 MB per file, gratis e senza account.

Fino a 100 file alla volta. Formati diversi insieme non sono un problema.

L’unico target testo che mantiene i tipi delle colonne

Un file Parquet dichiara il tipo di ogni colonna nel suo footer. Convertitelo in CSV e quella dichiarazione sparisce: ogni valore diventa caratteri.

JSON ha tipi propri. Un numero resta un numero, un booleano resta booleano, e null resta null, così il record che arriva dice la stessa cosa di sé che diceva la colonna Parquet.

L’annidamento sopravvive come stringa, un livello sotto la struttura

Questo è il limite da conoscere prima di costruire qualcosa sull’output. Le colonne lista e struct vengono scritte nel JSON come stringhe contenenti JSON piuttosto che come JSON annidato.

È un passaggio in più per sistemarlo. Un jq con fromjson sul campo lo trasforma in un array reale, ed è anche l’occasione per decidere se il campo deve essere annidato affatto.

I timestamp diventano stringhe ISO, che è la risposta onesta

JSON non ha un tipo data. Una colonna timestamp è quindi scritta come stringa ISO 8601, che ogni linguaggio e validatore di schema legge senza bisogno di un formato dichiarato.

L’alternativa sarebbe un numero epoca, ed è peggiore in un record che una persona deve leggere: un campo con 1710149400000 è illeggibile senza sapere l’unità.

I grandi interi diventano stringhe piuttosto che perdere precisione

Parquet ha un tipo intero a 64 bit e i numeri JSON sono, in pratica, limitati a ciò che i parser sui due lati rappresentano esattamente — per la maggior parte, 53 bit.

Un valore dentro l’intervallo sicuro resta un numero; uno fuori diventa una stringa tra virgolette con ogni cifra intatta. Un riferimento d’ordine arrotondato assomiglia esattamente a un riferimento d’ordine e non corrisponde a nulla.

Un record per riga, senza array attorno

Il file è un oggetto JSON completo per riga e nient’altro — nessuna parentesi di apertura, nessuna virgola tra record. Un parser che si aspetta un array fallirà sulla seconda riga.

Ciò che l’assenza compra è che un consumatore può leggere una riga, agire, scartarla e proseguire, qualunque sia la dimensione del file.

Riproporre un estratto Parquet in una coda o un’API

Una tabella siede in una piattaforma dati, e qualcosa al di fuori — un indice di ricerca, una coda messaggi, un ambiente di staging — prende JSON e non ha mai sentito parlare di Parquet.

Un ciclo shell che legge righe e ne pubblica ognuna basta per un piccolo backfill. La prima cosa da controllare sono i nomi dei campi: una piattaforma dati dà alle colonne nomi formati dalla pipeline che li ha prodotti.

I valori vuoti restano null invece di diventare vuoti

Un null in una colonna Parquet viene scritto come null nel JSON, il che preserva una distinzione che nessun formato delimitato può portare: null e stringa vuota sono valori diversi.

Un campo dichiarato come stringa rifiuterà null a meno che non sia dichiarato annullabile, e un validatore ve lo dirà al record esatto.

Dove viene letto l’estratto e cosa limita il numero di righe

Il lettore Parquet è una libreria caricata su richiesta da questa pagina e il JSON viene scritto lì, quindi nessuna richiesta trasporta il file.

Ogni riga viene materializzata prima che qualcosa venga scritto, quindi la memoria è il tetto. Per una tabella grande, DuckDB scriverà NDJSON in un’unica istruzione senza tenere nulla in memoria.

Come convertire Parquet in NDJSON

  1. Trascina il tuo file Parquet su questa pagina, oppure fai clic per sceglierne uno.
  2. Scegli NDJSON come destinazione. La conversione avviene nel tuo browser e il file non viene caricato.
  3. Scarica il file NDJSON finito.

Parquet o NDJSON: cosa cambia

Parquet a confronto con NDJSON
ParquetNDJSON
Nome completoApache ParquetNewline-Delimited JSON
Estensione del file.parquet.ndjson, .jsonl
Tipo di mediaapplication/vnd.apache.parquetapplication/x-ndjson
CompressioneSenza perdita — non si butta via niente
Prima pubblicazione20132013
Pubblicato daApache Software Foundation
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeAttuale
Si apre nel browserNessun browserNessun browser
Valutato al suo postoCSV, JSONJSON, CSV

Che cosa resta

Non si scarta nulla. Parquet e NDJSON salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.

Che cosa aggiunge il formato di destinazione

NDJSON è un formato di lavoro e Parquet è un formato finito. Torna testo modificabile invece di un'immagine della pagina, che di solito è il motivo della conversione e insieme il suo limite.

Aprire il risultato

pandas legge sia Parquet sia NDJSON, quindi puoi confrontare il risultato con l'originale senza un secondo programma.

A che cosa serve ciascun formato

NDJSON risale al 2013. jq e pandas lo leggono.

Da Parquet a NDJSON: domande frequenti

Il mio file Parquet viene caricato da qualche parte?

No. Questa conversione avviene interamente nel tuo browser, quindi il file non esce dal tuo dispositivo. Puoi controllarlo da solo: apri la scheda di rete degli strumenti per sviluppatori e converti qualcosa. Vedrai la pagina stessa e le richieste di statistica e di pubblicità con cui questo servizio si paga, e nemmeno una che porti il tuo file. Il motore di questa coppia è parquet-wasm, una compilazione WebAssembly del lettore di Apache Arrow; il browser lo scarica una volta e lo tiene in cache.

Convertire Parquet in NDJSON è gratis?

Sì. Senza account, senza filigrana e senza una quota giornaliera da consumare: gira sulla tua macchina, quindi puoi tornare quante volte vuoi. Il browser lavora file fino a 100 MB, 100 per volta. parquet-wasm viene scaricato sulla tua macchina e gira lì, ed è per questo che non c’è un contatore.

Si perde qualità convertendo Parquet in NDJSON?

No. NDJSON conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale.

La conversione da Parquet a NDJSON è senza perdita?

Non si scarta nulla. Parquet e NDJSON salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.

Il file NDJSON è modificabile dopo?

NDJSON è un formato di lavoro e Parquet è un formato finito. Torna testo modificabile invece di un'immagine della pagina, che di solito è il motivo della conversione e insieme il suo limite.

Altro su questi formati