happytails.ai
Suomi

Avro-skeemojen yhteensopivuustarkistus

Tarkista, voiko uusi Avro-skeema yhä lukea vanhalla kirjoitettuja tietoja tai päinvastoin. Jokainen yhteensopivuuden estävä kenttä, tyyppi ja enum-symboli luetellaan polkuineen.

Hyväksyy JSON-muotoisia Avro-skeemoja, joissa kussakin on enintään 1 000 000 merkkiä, 50 000 JSON-arvoa ja 64 sisäkkäisyystasoa, sekä enintään 50 aiempaa versiota transitiivisissa tiloissa. Tarkistus suoritetaan selaimessa erillisessä taustasäikeessä. Ladattavina ovat JSON-raportti ja ongelmien CSV-luettelo. Kirjoittajan skeema JSONina tai {"versions":[...]} ja aiemmat skeemat vanhimmasta uusimpaan transitiivisissa tiloissa. Enintään 1 000 000 merkkiä. Tarkista asetukset ennen suorittamista.

Tuloksesi

Ilmoita ongelmasta tai jaa idea.

Avro-skeemojen yhteensopivuustarkistus
  1. Liitä aiempi Avro-skeema pääkenttään tai transitiivisessa tilassa {"versions":[...]}.
  2. Liitä uusi skeema Uusi skeema -kenttään.
  3. Valitse taaksepäin, eteenpäin tai täysi yhteensopivuus.
  4. Suorita tarkistus ja lataa JSON-raportti tai ongelmien CSV-luettelo.

Mitä on hyvä tietää

Hyväksyy JSON-muotoisia Avro-skeemoja, joissa kussakin on enintään 1 000 000 merkkiä, 50 000 JSON-arvoa ja 64 sisäkkäisyystasoa, sekä enintään 50 aiempaa versiota transitiivisissa tiloissa. Tarkistus suoritetaan selaimessa erillisessä taustasäikeessä. Ladattavina ovat JSON-raportti ja ongelmien CSV-luettelo.

Tilat

Taaksepäin yhteensopivuus tarkoittaa, että uusi skeema voi lukea vanhalla kirjoitettuja tietoja. Tätä tarvitaan kuluttajan päivityksessä. Eteenpäin yhteensopivuus tarkoittaa, että vanha skeema voi lukea uudella kirjoitettuja tietoja. Täysi yhteensopivuus tarkistaa molemmat suunnat. Transitiiviset tilat tarkistavat uuden skeeman jokaista antamaasi aiempaa versiota vasten vanhimmasta uusimpaan, eivät vain viimeisintä vasten.

Skeemojen ratkaisusäännöt

Tarkistukset noudattavat Avro 1.11 -määrityksen Schema Resolution -osiota: int voidaan laajentaa tyypeiksi long, float ja double, long tyypeiksi float ja double, float tyypiksi double sekä string ja bytes toisikseen. Tietueet vastaavat toisiaan täydellisen nimen, tarkentamattoman nimen tai lukijan aliaksen perusteella. Lukijan kenttä, jota kirjoittajalla ei ole, tarvitsee kelvollisen oletusarvon. Lukijan enum tarvitsee jokaisen kirjoittajan symbolin, ellei sillä ole oletusarvoa. Jokaisen kirjoittajan unionin haaran on oltava lukijan luettavissa.

Tarkistuksen rajat

Tämä tarkistaa Avro-skeemojen ratkaisusäännöt eikä tietyn skeemarekisterin lisäsääntöjä. Kelvollisilla loogisilla desimaalityypeillä on oltava sama tarkkuus ja skaala sekä bytes- että fixed-koodauksessa. Tuntemattomat tai virheelliset loogiset tyypit käyttävät taustalla olevaa Avro-tyyppiä. Unionien oletusarvot tarkistetaan ensimmäistä haaraa vasten, ja sisäkkäiset oletusarvot validoidaan rekursiivisesti.

Hyödylliset seuraavat työkalut