Au lieu d'une table imbriquée, tout ce que j'obtiens est un titre très long contenant la commande sql mais aucune erreur. Pourquoi cela fonctionne-t-il mais n'entraîne pas correctement les données json?Pourquoi AWS athena crée ma table sous forme de chaîne au lieu d'un tableau d'objets imbriqués
CREATE external TABLE ranked (
airlineRankings array<struct<
overall_rating:TINYINT,
seat_comfort_rating:TINYINT,
cabin_staff_rating:TINYINT,
food_beverages_rating:TINYINT,
inflight_entertainment_rating:TINYINT,
ground_service_rating:TINYINT,
wifi_connectivity_rating:TINYINT,
value_money_rating:TINYINT,
recommended:TINYINT,
review_amount:TINYINT,
count:TINYINT,
iata:string,
icao:string,
airline_link:string,
call_sign:string,
country:string,
airline:string
>>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://**********/'
JSON format de données:
{
"airlineRankings": [{
"iata": "",
"icao": "EVY",
"airline_link": "34 Squadron, Royal Australian Air Force",
"call_sign": "",
"country": "Australia",
"airline": "34 Squadron, Royal Australian Air Force",
"overall_rating": 0,
"seat_comfort_rating": 0,
"cabin_staff_rating": 0,
"food_beverages_rating": 0,
"inflight_entertainment_rating": 0,
"ground_service_rating": 0,
"wifi_connectivity_rating": 0,
"value_money_rating": 0,
"recommended": 0,
"review_amount": 0
}
]
}
HIVE_CURSOR_ERROR: Row est pas un objet JSON valide - JSONException: Un texte JSONObject doit se terminer par '}' à 2 [caractère 3 ligne 1] Renvoyez cette erreur. C'est un json valide .... – deek
Se pourrait-il que votre JSON contienne \ n caractères? –
J'ai ajouté le format de données JSON à la question originale. oui, certaines des valeurs de chaîne ont des caractères spéciaux et non des clés. – deek