Hive 使用Amazon Athena和Open JSONx Serde复制密钥

Hive 使用Amazon Athena和Open JSONx Serde复制密钥,hive,amazon-athena,presto,Hive,Amazon Athena,Presto,由于错误,我有以下数据: { "eventType": "something", "details": { "userName": "NotSet", "username": "test@email.com" }, "createdAt": 3 } 创建表格工作: CREATE EXTERNAL TABLE tbl ( eventType string, `createdAt` string, details

由于错误,我有以下数据:

{
  "eventType": "something",
  "details": {
    "userName": "NotSet",
    "username": "test@email.com"
  },
  "createdAt": 3
}
创建表格工作:

CREATE EXTERNAL TABLE tbl (
         eventType string,
         `createdAt` string,
         details string 
) 
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
 LOCATION 's3://xx/yy'
但是,当我查询(尝试将详细信息转换为字符串、结构、映射、始终相同)时,我得到了重复键错误:

HIVE_CURSOR_ERROR: Row is not a valid JSON Object - JSONException: Duplicate key "username"

如果将它们用作行列,而不是映射键,甚至字符串,那么它们是重复的,为什么会失败?org.apache.hive.hcatalog.data.JsonSerDe可以跳过,但我不喜欢它,因为%99.5数据是这样的。org.apache.hive.hcatalog.data.JsonSerDe总是失败。

Presto不支持区分大小写的列名(它们总是转换为小写),因此不可能只区分大小写的多个列。

但映射键不应该是列?