Hive 将查询语句转存到Map字段

时间:2025-04-24 07:46:45

 将查询语句得到的数据,存放到hive表的map字段中,

在一般的查询语句里,返回的字段都是String类型, 直接insert到hive表的map字段会报类型错误。 去咨询了大数据的同学,也不知道该怎么弄。


从网上搜到的,都是将主句转存为文件,再把文件导入到map字段。


实际只需要一个函数就可以。 str_to_map.


insert overwrite table ${tablename} partition (pt='${yesterdayStr}')

SELECT '2017-08-09', 'testkey', str_to_map(concat('crowd:', m0.o_id,'&clicker:',m0.g_id,'&sen:',m0.c_id,'&o_cnt:',m0.c_mob), '&', ',')
        FROM dwd_info m0
        WHERE pt='2017-08-24' limit 100。


以上语句,可就可以直接将查询结果,转存到Map字段。