2016-07-23 106 views
0

嗨我有一个表的列,其类型是map<string,string>。现在我已经要求在这张地图上删除特定的关键字“xyz”,并保持地图在表格中的位置。如果我们只想检索密钥,我们可以使用Lateral view,但我想永久删除特定的密钥xyz。我们如何解决这个问题?请指导。提前致谢。如何从Hive地图类型中删除特定的键?

回答

0

由于配置单元(任何hadoop)不支持对表格数据(hdfs上的文档)进行更新。

所以有工作。

使用侧视图爆炸并从结果中删除密钥值通过在地图格式创建数据集

Str_to_map与组

你可以对上面的逻辑视图或做out put result并创建在顶部的表这个输出文件。

删除键例子(map explode example

 with result as (select key1, value1 from test2 
       lateral view explode(item1) dummy1 as key1, value1 

      select * from result where key1 !='1' 
+0

感谢您好我不明白,你可以请给我举例我怎么删除特定的键映射,并保持在地图去掉特定键的表。 – u449355

+0

更新了答案.. –

+0

好的,谢谢我仍然困惑侧视图和爆炸从主表永久删除主表? – u449355