Verificarea compatibilității schemelor Avro
Verifică dacă o schemă Avro nouă mai poate citi date scrise cu cea veche sau invers. Fiecare câmp, tip și simbol de enumerare care blochează compatibilitatea este listat cu calea sa.
Acceptă scheme Avro în JSON de cel mult 1.000.000 de caractere fiecare, cu maximum 50.000 de valori JSON și 64 de niveluri de imbricare, și până la 50 de versiuni anterioare pentru modurile tranzitive. Verificarea rulează în browser într-o sarcină separată în fundal. Se pot descărca un raport JSON și o listă CSV de probleme. Schema modulului de scriere ca JSON sau {"versions":[...]} cu schemele anterioare de la cea mai veche pentru modurile tranzitive. Până la 1.000.000 de caractere. Verifică setările înainte de rulare.
Rezultatul tău
Verificarea compatibilității schemelor Avro
- Lipește schema Avro anterioară în câmpul principal sau {"versions":[...]} pentru un mod tranzitiv.
- Lipește schema nouă în câmpul Schemă nouă.
- Alege compatibilitatea înapoi, înainte sau completă.
- Rulează verificarea și descarcă raportul JSON sau lista CSV de probleme.
La ce să te aștepți
Acceptă scheme Avro în JSON de cel mult 1.000.000 de caractere fiecare, cu maximum 50.000 de valori JSON și 64 de niveluri de imbricare, și până la 50 de versiuni anterioare pentru modurile tranzitive. Verificarea rulează în browser într-o sarcină separată în fundal. Se pot descărca un raport JSON și o listă CSV de probleme.
Moduri
Compatibilitatea înapoi înseamnă că schema nouă poate citi date scrise cu cea veche, ceea ce este necesar la actualizarea consumatorului de date. Compatibilitatea înainte înseamnă că schema veche poate citi date scrise cu cea nouă. Modul complet verifică ambele sensuri. Modurile tranzitive verifică schema nouă față de fiecare versiune anterioară indicată, de la cea mai veche, nu doar față de ultima.
Reguli de rezolvare a schemelor
Verificările urmează secțiunea Schema Resolution din specificația Avro 1.11: int se poate extinde la long, float și double, long la float și double, float la double, iar string și bytes reciproc. Înregistrările se potrivesc după numele complet, numele necalificat sau un alias al modulului de citire. Un câmp al modulului de citire care lipsește din modulul de scriere necesită o valoare implicită validă. Enumerarea modulului de citire necesită fiecare simbol al celui de scriere, dacă nu are o valoare implicită. Fiecare ramură a uniunii modulului de scriere trebuie să poată fi citită de modulul de citire.
Limitele verificării
Verifică rezolvarea schemelor Avro, nu regulile suplimentare ale unui anumit registru de scheme. Tipurile logice decimal valide trebuie să aibă aceeași precizie și scară, atât pentru codificarea bytes, cât și fixed. Tipurile logice necunoscute sau nevalide folosesc tipul Avro de bază. Valorile implicite ale uniunilor sunt verificate față de prima ramură; cele imbricate sunt validate recursiv.