Получение GENERIC_INTERNAL_ERROR при извлечении записей в AWS Athena

#json #amazon-web-services #avro #amazon-athena

Вопрос:

Я преобразовал свой jsonData в файл .avro и сохранил его в S3. Создал DDL в AWS Athena для извлечения записей. но столкнувшись с приведенной ниже ошибкой: [ErrorCategory:USER_ERROR, ErrorCode:QUERY_FAILED], Detail:GENERIC_INTERNAL_ERROR: error initializing deserializer: com.facebook.presto.hive.avro.PrestoAvroSerDe

Данные JSON

 [{
    "id" : "120",
    "name": "Manish"
    "genericFields" : { "KEY1" : "45"}
},
{
    "id" : "122",
    "name": "Anita"
    "genericFields" : { "KEY1" : "45", "key2":"79"}
},
{
    "id" : "121",
    "name": "Deepak"
    "genericFields" : { "KEY3" : "45"}
}]

 

Афина DDL

 CREATE EXTERNAL TABLE `testing_NEW`(
  `id` string COMMENT 'from deserializer', 
  `name` string COMMENT 'from deserializer', 
  `genericFields` map<string,string>
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.avro.AvroSerDe' 
WITH SERDEPROPERTIES ( 
  'avro.schema.literal'='{
    "type": "record",
    "name": "doc",
    "namespace": "documents",
    "fields": [{
        "name": "id","type": ["null", "string"],"default": null
    },{
        "name": "name","type": ["null", "string"],"default": null
    },{
        "name": "genericFields","type": {"type":"map","values":"string"}
    }}]
}') 
STORED AS AVRO 
LOCATION
  's3://testing/2021'
 

Может ли кто-нибудь, пожалуйста, подсказать мне, как решить эту проблему
Спасибо!!

Комментарии:

1. Пожалуйста, покажите процесс, который вы использовали для преобразования JSON в Avro. В частности, ваш JSON представляет собой одну запись массива, которая не соответствует вашей схеме