如何从Hive地图类型中删除特定键?

时间:2016-07-23 07:05:46

标签: hive

我有一个包含类型为map<string,string>的列的表。现在我已经要求删除特定关键字&#34; xyz&#34;从这张地图中保存地图,就像它在表格中一样。如果我们只想检索密钥,我们可以使用Lateral view,但我想永久删除特定密钥xyz。

我们如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

由于hive(任何hadoop)不支持更新表数据(hdfs上的文档)。

所以有解决方法。

使用横向视图爆炸并从结果集中删除键值

Str_to_map with group by以地图格式创建数据

您可以查看上述逻辑或执行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'