Pemeriksa Kompatibilitas Skema Avro
Periksa apakah skema Avro baru masih dapat membaca data yang ditulis dengan skema lama, atau sebaliknya. Setiap field, jenis, dan simbol enum yang menghalangi kompatibilitas dicantumkan bersama jalurnya.
Menerima skema Avro dalam format JSON hingga 1,000,000 karakter masing-masing, paling banyak 50,000 nilai JSON dan kedalaman bertingkat 64 tingkat, serta hingga 50 versi terdahulu untuk mode transitif. Pemeriksaan berjalan di browser Anda dalam worker latar belakang. Unduhan berupa laporan JSON dan daftar masalah CSV. Skema writer dalam format JSON, atau {"versions":[...]} berisi skema terdahulu dari yang paling lama untuk mode transitif. Maksimal 1.000.000 karakter. Tinjau pengaturan sebelum menjalankan.
Hasil Anda
Pemeriksa Kompatibilitas Skema Avro
- Tempel skema Avro terdahulu di kotak utama, atau gunakan {"versions":[...]} untuk mode transitif.
- Tempel skema baru di field New schema.
- Pilih kompatibilitas mundur, maju, atau penuh.
- Jalankan pemeriksaan dan unduh laporan JSON atau daftar masalah CSV.
Yang perlu diketahui
Menerima skema Avro dalam format JSON hingga 1,000,000 karakter masing-masing, paling banyak 50,000 nilai JSON dan kedalaman bertingkat 64 tingkat, serta hingga 50 versi terdahulu untuk mode transitif. Pemeriksaan berjalan di browser Anda dalam worker latar belakang. Unduhan berupa laporan JSON dan daftar masalah CSV.
Mode
Kompatibilitas mundur berarti skema baru dapat membaca data yang ditulis dengan skema lama, sebagaimana diperlukan saat memperbarui konsumen. Kompatibilitas maju berarti skema lama dapat membaca data yang ditulis dengan skema baru. Pemeriksaan penuh menguji keduanya. Mode transitif menguji skema baru terhadap setiap versi terdahulu yang Anda cantumkan, dimulai dari yang paling lama, bukan hanya versi terbaru.
Aturan resolusi
Pemeriksaan mengikuti bagian Schema Resolution dari spesifikasi Avro 1.11: int dipromosikan menjadi long, float, dan double; long menjadi float dan double; float menjadi double; string dipromosikan menjadi bytes dan bytes dipromosikan menjadi string. Record cocok berdasarkan nama lengkap, nama tanpa kualifikasi, atau alias reader. Field reader yang tidak ada pada writer memerlukan nilai default yang valid. Enum reader memerlukan setiap simbol writer kecuali memiliki default. Setiap cabang union writer harus dapat dipecahkan oleh reader.
Batas pemeriksaan
Pemeriksaan ini menerapkan resolusi skema Avro, bukan aturan tambahan dari schema registry tertentu. Jenis logis desimal yang valid harus memiliki presisi dan skala sama, untuk enkode bytes maupun fixed. Jenis logis yang tidak dikenal atau tidak valid menggunakan jenis Avro dasarnya. Default union diperiksa terhadap cabang pertama; default bertingkat divalidasi secara rekursif.