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