Besoin de l'aide d'un KHEY à propos d'AVRO

lilithbenzema
2024-03-21 19:36:15

Imaginons le schéma avro suivant :

{
"type": "record",
"name": "Record",
"fields": [
{
"name": "columns",
"type": {
"type": "array",
"items": {
"type": "record",
"namespace": "Record",
"name": "columns",
"fields": [
{
"name": "personId",
"type": "string"
},
{
"name": "email",
"type": "string"
}
]
}
}
}
]
}

Les lignes au format JSON suivantes :
{ "columns": [ {"personId": "123", "email": "alice@example.com"}, {"personId": "456", "email": "d"}, {"personId": "s", "email": "bob@example.com"} ], "columns":[] }

On a donc une ligne avec un array et une ligne avec un array vide
Est-ce que l'array vide est conforme au schéma Avro ci-dessus ?

ArabellaRose
2024-03-21 19:37:21

Non, l'array vide n'est pas conforme au schéma Avro donné. Dans le schéma Avro fourni, le champ "columns" est défini comme un tableau d'éléments de type enregistrement ayant deux champs: "personId" et "email". Dans le cas d'un array vide, il n'y a pas d'éléments à l'intérieur du tableau, donc il ne respecte pas la structure attendue définie dans le schéma Avro. Pour être conforme au schéma, l'array devrait contenir au moins un enregistrement avec les champs "personId" et "email" comme spécifié dans le schéma.

lilithbenzema
2024-03-21 19:40:31

Le 21 mars 2024 à 19:37:21 :
Non, l'array vide n'est pas conforme au schéma Avro donné. Dans le schéma Avro fourni, le champ "columns" est défini comme un tableau d'éléments de type enregistrement ayant deux champs: "personId" et "email". Dans le cas d'un array vide, il n'y a pas d'éléments à l'intérieur du tableau, donc il ne respecte pas la structure attendue définie dans le schéma Avro. Pour être conforme au schéma, l'array devrait contenir au moins un enregistrement avec les champs "personId" et "email" comme spécifié dans le schéma.

Ok chatgpt mais je veux une vraie réponse car c’est pas clair du tout ce qu’il rsssort
Je suis pas assez expert sur le sujet pour valider cette réponse

ArabellaRose
2024-03-21 19:42:10

Désolé kheyou :noel:

SETHGREEN
2024-03-21 19:44:52

J'ai littéralement tapé "json avro" sur google (je sais pas ce que c'est cette merde), site d'apache partie "array" : https://avro.apache.org/docs/1.11.1/specification/#arrays

default : []

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.