#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 представляет собой одну запись массива, которая не соответствует вашей схеме