Format Atlas

Bandingkan

JSON Lines vs Avro

JSON Lines menyimpan satu nilai JSON di setiap baris UTF-8 agar dapat diproses per catatan. Avro mengodekan catatan bertipe dengan skema penulis dan dapat menyimpan metadata skema bersama blok data.

Format mana yang sebaiknya dipilih?

Gunakan JSON Lines untuk peristiwa yang mudah dibaca, alat teks, dan aliran per baris. Pertimbangkan Avro untuk catatan bertipe dan resolusi skema terkelola.

Cocok untuk JSON Lines

Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming

  • Membaca dan menulis rekaman secara bertahap
  • Menambahkan atau menggabungkan data teks dengan alat umum

Cocok untuk Avro

Menukar catatan dengan skema terdefinisi

  • Peristiwa dan alur data dengan versi skema

Informasi dasar

ItemJSON LinesAvro
Ekstensi.jsonl, .ndjson.avro
Tipe MIMEapplication/jsonlapplication/avro
Penggunaan umumLog dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streamingMenukar catatan dengan skema terdefinisi
Cara membukaBuka file dengan editor teks atau alat yang mendukung JSON Lines. Memvalidasi setiap baris sebagai JSON memudahkan pencarian rekaman yang memiliki kesalahan sintaks.Gunakan alat Avro untuk memeriksa skema, bidang, tipe, dan catatan.
Ekspor atau konversiUntuk membuat array JSON, kumpulkan baris sebagai elemen array. Untuk mengubah array menjadi JSON Lines, tulis setiap nilai pada baris tersendiri. Perhatikan penggunaan memori untuk file besar.Ke JSON atau Parquet, periksa nama bidang, tipe, null, tipe logis, jumlah catatan, dan kompatibilitas skema.

Pilih menurut penggunaan

Membaca dan menulis rekaman secara bertahap

Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming

JSON Lines

Menambahkan atau menggabungkan data teks dengan alat umum

Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming

JSON Lines

Peristiwa dan alur data dengan versi skema

Menukar catatan dengan skema terdefinisi

Avro

Poin utama 1

Pembaca JSON Lines dapat mengurai setiap nilai tanpa skema terpisah; pembaca biner Avro memerlukan skema penulis.

Perbedaan lebih lanjut

Poin utama 2

Menambahkan baris JSON lengkap adalah operasi teks; penulis kontainer Avro harus menjaga blok dan penanda sinkronisasi tetap valid.

Perbedaan lebih lanjut

Perbedaan lebih lanjut

Uji data dan pembaca Anda; tidak ada format yang selalu lebih kecil atau cepat.

  • JSON Lines memiliki nilai JSON mandiri per baris; catatan Avro mengikuti skema yang dideklarasikan.
  • Berkas kontainer Avro menyimpan skema penulis dengan blok; JSON Lines adalah teks UTF-8.
  • Pembaca dapat menyelesaikan perubahan skema Avro yang didukung; JSON Lines menyerahkan aturan field dan tipe ke aplikasi.

Pertanyaan umum

Apakah JSON Lines sama dengan pengodean JSON Avro?

Tidak. JSON Lines memisahkan nilai JSON biasa dengan baris. Pengodean JSON Avro tetap mengikuti skema dan aturan union Avro.

Pelajari lebih lanjut

Referensi dan spesifikasi