'ignore.malformed. json' = 'true' установлено в AWS Таблица склеивания, однако Афина по-прежнему дает JSON Объект - JSONException: ошибка - PullRequest
0 голосов
/ 18 января 2020

Я пытаюсь запросить файлы JSON на S3 из Афины, однако некоторые из объектов JSON являются неполными / имеют некоторые ошибки. В соответствии с AWS документами , которые я установил:

'ignore.malformed.json'='true' 
serde = org.openx.data.jsonserde.JsonSerDe

enter image description here

Однако я получаю JSON исключений при запросе их с Афиной , Может ли кто-нибудь помочь?

Вот структура DDL.

CREATE EXTERNAL TABLE test2_v2 (
  message string, 
  version int, 
  equipmentnumber string, 
  anyequip struct
                 < 
                  aehdversion:string,
                  aemanufacture:string,
                  aeswversion:string,
                  anyequipid:string 
                  > 
)
PARTITIONED BY ( 
  year string, 
  month string, 
  day string, 
  hour string)
ROW FORMAT SERDE 
  'org.openx.data.jsonserde.JsonSerDe' 
WITH SERDEPROPERTIES ( 
  'ignore.malformed.json'='true') 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  's3://kafkamessages/topics/abc/'
TBLPROPERTIES (
  'CrawlerSchemaDeserializerVersion'='1.0', 
  'CrawlerSchemaSerializerVersion'='1.0', 
  'UPDATED_BY_CRAWLER'='test_table', 
  'averageRecordSize'='1445', 
  'classification'='json', 
  'compressionType'='gzip', 
  'objectCount'='1393', 
  'recordCount'='442738', 
  'sizeKey'='560050710', 
  'typeOfData'='file')

Сообщение об ошибке, как показано ниже

Your query has the following error(s):

HIVE_CURSOR_ERROR: Row is not a valid JSON Object - JSONException: Unterminated string at 20481 [character 20482 line 1]

С уважением, RR

...