我正在尝试创建一个外部表处理数据,如下所示:
{"Id":"1","att":{"value":0.5}}
我写了以下查询,但它不起作用:
CREATE EXTERNAL TABLE IF NOT EXISTS table_1 (Id bigint, att double), path)
但它为 ATT 提供空。如何在查询中引用值而不是 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';