我有一张 hive table
create table mySource(
col_1 map<string, string>,
col_2 map<string, string>
)
下面是一张唱片的样子
col_1 col_2
{"a":1, "b":"2"} {"c":3, "d":"4"}
我的目标表是这样的
create table myTarget(
my_col map<string, string>
)
现在我想将mysource中的两列合并到一个Map中,并将其提供给我的目标表。基本上我想写一些
insert into myTarget
select
some_method(col_1, col_2) as my_col
from mySource;
是否有一个内置的方法可以做到这一点?我用collect\u set做了一些尝试,但出现了很多错误
1条答案
按热度按时间hivapdat1#
只使用内置方法的解决方案。分解两个贴图,合并所有结果,收集
key:value
,将数组与','
,使用将字符串转换为Mapstr_to_map
:结果:
使用brickhouse library会更容易: