Hive 在配置单元中查询映射值

Hive 在配置单元中查询映射值,hive,Hive,我在蜂巢里有一张桌子,每小时都会通过Spark/Parquet更新一次 CREATE TABLE IF NOT EXISTS user ( name STRING, creation_date DATE, cards map<STRING,STRING> ) STORED AS PARQUET ; 结果是这样的 KillerZord1001 2016-01-02 {"Archer":"2",&qu

我在蜂巢里有一张桌子,每小时都会通过Spark/Parquet更新一次

CREATE TABLE IF NOT EXISTS user
(
    name STRING,
    creation_date DATE,
    cards map<STRING,STRING>
) STORED AS PARQUET ; 
结果是这样的

KillerZord1001      2016-01-02      {"Archer":"2","Gobelin":"6"}
HalfAMill       2016-02-05      {"Witch":"7","Gobelin":"8"}
但我想要的是我正在寻找的钥匙的价值,更像:

KillerZord1001      2016-01-02      6
HalfAMill       2016-02-05      8
Hive可以执行这样的查询吗?

您只需执行

SELECT name, creation_date, card["Gobelin"] FROM USER 
  WHERE card["Gobelin"] IS NOT NULL
SELECT name, creation_date, card["Gobelin"] FROM USER 
  WHERE card["Gobelin"] IS NOT NULL