具有嵌套值 json 的外部 table

External table with nested value json

我正在尝试创建一个外部 table 处理这样的数据:

{"Id":"1","att":{"value":0.5}}

我编写了以下查询,但它不起作用:

CREATE EXTERNAL TABLE IF NOT EXISTS table_1 (Id bigint, att double), path)

但它为 att 提供了 null。如何在查询中引用不指向 att 的值? 我在 Emr 和 Hive 上这样做。

这是一个使用 JsonSerde 的示例,以便为未来的用户提供答案:

CREATE EXTERNAL TABLE IF NOT EXISTS table_1 (
    Id BIGINT, 
    att STRUCT<value:DOUBLE>)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION '/location';