Hive table 嵌套 JSON 作为字符串值

Hive table with nested JSON as string value

我正在尝试从嵌套 json.
创建一个 table JSON 的第二层非常复杂,我不想在带有结构列的 table 定义中保留 JSON 的架构。

我正在寻找允许我将其保留为字符串的解决方案。

例如:

{
"request_id": "3dbd4ee3-96fc-4342-bd62",
"payload": { < COMPLEX NESTED JSON >  },
"timestamp": 1569161622
}

我尝试使用以下创建语句:

CREATE EXTERNAL TABLE data (
request_id string,
payload string,
`timestamp` int
)
ROW FORMAT  serde 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION 's3a://bucket'

有没有 SerDe property/mapping 我可以用来将嵌套对象定义为字符串?

您可以使用 org.openx.data.jsonserde.JsonSerDe SerDe

有关此 SerDe 的更多信息,请参阅 [link] (https://github.com/rcongiu/Hive-JSON-Serde)

希望对您有所帮助