hive读取地图值

时间:2013-03-06 11:41:24

标签: hive

这是我在一个文件中的数据,我已成功加载到表测试中并成功获取数据:

Select * from test;



Name    ph        category

Name1    ph1    {"type":1000,"color":200,"shape":610}
Name2    ph2    {"type":2000,"color":200,"shape":150}
Name3    ph3    {"type":3000,"color":700,"shape":167}

但是当我执行这个查询时:

select category["type"] from test;

我得到空值;

请帮忙。 谢谢 西

3 个答案:

答案 0 :(得分:6)

使用这个: select test.category["type"] from test;

答案 1 :(得分:1)

查询中缺少空检查

SELECT category["type"] FROM test WHERE category["type"] IS NOT NULL;

答案 2 :(得分:0)

我知道答案很晚了。

我遇到了同样的问题,当我为键创建地图时,我在键之前和之后手动添加了双引号(“),这就是问题。因此,如果代码中有类似内容,将其删除并尝试运行。它可能会解决该问题。