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